Невозможно установить istio на экземпляр Kops - PullRequest
1 голос
/ 05 мая 2020

Я пытаюсь установить Istio в кластере Kubernetes. Я создал трехузловой кластер и установил версию istioctl 1.1.0. При установке istio есть файл istio-demo.yaml, расположенный внутри каталога install/kubernetes/istio-demo.yaml. Когда я запустил команду kubectl apply -f install/kubernetes/istio-demo.yaml, я получил следующий результат.

Затем я перечислил службы, используя kubectl get svc -n istio-system Я вижу службы

Затем, когда я перечисляю модули, используя kubectl get pod -n istio-system Я не вижу стручки. Где я ошибаюсь?

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

ps: Обновление по вопросу: 1.

$ kubectl api-resources | grep deployment
deployments                       deploy       apps                           true
     Deployment
Версия клиента: version.Info {Major: "1", Minor: "17"

1 Ответ

2 голосов
/ 05 мая 2020

Вы можете проверить, какие API-интерфейсы поддерживают текущий объект Kubernetes, используя

$ kubectl api-resources | grep deployment
deployments                       deploy       apps                           true         Deployment

Итак, вы пытаетесь использовать устаревший apiVersion extensions/v1beta1. Это было объявлено устаревшим в версии 1.16 Kubernetes. Кажется, у вас есть кластер kubernetes, который выше версии 1.16.

Два решения:

  1. В istio-demo.yaml везде, где у вас есть Deployment, измените apiVersion от extensions/v1beta1 до apps/v1

  2. Istio 1.1 довольно старый, поэтому предлагается обновить его до последней версии, которая должна решить проблему.

Также проверьте соответствие версии клиента kubectl и версии сервера Kubernetes, запустив kubectl version

...