无法在 Kops 实例上安装 istio

Unable to install istio on Kops instance

我正在尝试在 Kubernetes 集群上安装 Istio。我创建了一个三节点集群并安装了 istioctl 1.1.0 版本。 istio 安装附带一个位于 install/kubernetes/istio-demo.yaml 目录中的 istio-demo.yaml 文件。当我 运行 kubectl apply -f install/kubernetes/istio-demo.yaml 命令时,我得到以下输出。

然后我列出了使用 kubectl get svc -n istio-system 的服务 我正在查看服务

然后当我使用 kubectl get pod -n istio-system 列出 pods 时,我看不到 pods。我哪里错了?

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

P.s:更新问题: 1.

$ kubectl api-resources | grep deployment
deployments                       deploy       apps                           true
     Deployment
  1. 客户端版本:version.Info{主要版本:“1”,次要版本:“17”

您可以使用

检查哪些 api 支持当前 Kubernetes 对象
$ kubectl api-resources | grep deployment
deployments                       deploy       apps                           true         Deployment

所以您正在尝试使用已弃用的 apiVersion extensions/v1beta1。这在 kubernetes 1.16 版本中已弃用。您似乎有一个高于 1.16 版本的 kubernetes 集群。

两种解决方案:

  1. istio-demo.yamlDeploymentapiVersionextensions/v1beta1 更改为 apps/v1

  2. Istio 1.1 很旧,所以建议将其升级到最新版本,这应该可以解决问题。

同时通过 运行 kubectl version

验证 kubectl 客户端版本和 Kubernetes 服务器版本是否匹配