<p>I am trying to install Istio on a Kubernetes cluster. I created a three node cluster and installed istioctl 1.1.0 version. The istio installation comes with a <code>istio-demo.yaml</code> file located inside <code>install/kubernetes/istio-demo.yaml</code> directory. When I ran the <code>kubectl apply -f install/kubernetes/istio-demo.yaml</code> command, I got the below output.</p>

<p>Then I listed the services using <code>kubectl get svc -n istio-system</code> I am seeing the services</p>

<p>Then when I list the pods using <code>kubectl get pod -n istio-system</code> I cannot see the pods. Where am I going wrong?</p>

<pre><code>rule.config.istio.io/tcpkubeattrgenrulerule created
    kubernetes.config.istio.io/attributes created
    destinationrule.networking.istio.io/istio-policy created
    destinationrule.networking.istio.io/istio-telemetry created
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "Deployment" in version "extensions/v1beta1"

istio-1.1.0]$ kubectl get namespaces
NAME              STATUS   AGE
default           Active   11m
istio-system      Active   100s
kube-node-lease   Active   11m
kube-public       Active   11m
kube-system       Active   11m

kubectl get pod -n istio-system
NAME                                      READY   STATUS      RESTARTS   AGE
istio-cleanup-secrets-1.1.0-fbr87         0/1     Completed   0          3m27s
istio-grafana-post-install-1.1.0-kwz58    0/1     Completed   0          3m27s
istio-security-post-install-1.1.0-mc9wk   0/1     Completed   0          3m27s
</code></pre>

<p>P.s: Update on the question:
1. </p>

<pre><code>$ kubectl api-resources | grep deployment
deployments                       deploy       apps                           true
     Deployment
</code></pre>

<ol start="2">
<li>Client Version: version.Info{Major:"1", Minor:"17"</li>
</ol>

<p>You can check which apis support current Kubernetes object using</p>

<pre><code>$ kubectl api-resources | grep deployment
deployments                       deploy       apps                           true         Deployment
</code></pre>

<p>So you are trying to use deprecated <code>apiVersion</code> <code>extensions/v1beta1</code>. This was deprecated in kubernetes version 1.16. You seem to have a kubernetes cluster which is above version 1.16.</p>

<p>Two solutions:</p>

<ol>
<li><p>In the <code>istio-demo.yaml</code> wherever you have <code>Deployment</code> change the <code>apiVersion</code> from <code>extensions/v1beta1</code> to <code>apps/v1</code></p></li>
<li><p>Istio 1.1 is pretty old so suggestion is to upgrade it to latest version which should fix the issue.</p></li>
</ol>

<p>Also verify if the kubectl client version and Kubernetes server version is matching by running <code>kubectl version</code></p>
