Я пытаюсь установить Istio 1.13.1 на Kubernetes 1.13.5, развернутый на minikube 1.0.0, но в конце я получаю некоторые ошибки. Вот журнал установки:

    $ minikube start --memory=4096 --disk-size=30g --kubernetes-version=v1.13.5 --profile=istio
    😄  minikube v1.0.0 on darwin (amd64)
    🤹  Downloading Kubernetes v1.13.5 images in the background ...
    🔥  Creating virtualbox VM (CPUs=2, Memory=4096MB, Disk=30000MB) ...
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    2019/04/19 19:51:56 No matching credentials were found, falling back on anonymous
    📶  "istio" IP address is 192.168.99.104
    🐳  Configuring Docker as the container runtime ...
    🐳  Version of container runtime is 18.06.2-ce
    ⌛  Waiting for image downloads to complete ...
    ✨  Preparing Kubernetes environment ...
    💾  Downloading kubeadm v1.13.5
    💾  Downloading kubelet v1.13.5
    🚜  Pulling images required by Kubernetes v1.13.5 ...
    🚀  Launching Kubernetes v1.13.5 using kubeadm ...
    ⌛  Waiting for pods: apiserver proxy etcd scheduler controller dns
    🔑  Configuring cluster permissions ...
    🤔  Verifying component health .....
    💗  kubectl is now configured to use "istio"
    🏄  Done! Thank you for using minikube!

    $ ./bin/istioctl version
    version.BuildInfo{Version:"1.1.3", GitRevision:"d19179769183541c5db473ae8d062ca899abb3be", User:"root", Host:"fbd493e1-5d72-11e9-b00d-0a580a2c0205", GolangVersion:"go1.10.4", DockerHub:"docker.io/istio", BuildStatus:"Clean", GitTag:"1.1.2-56-gd191797"}
    $ kubectl create -f install/kubernetes/istio-demo.yaml
    namespace/istio-system created
    customresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/destinationrules.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/serviceentries.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/gateways.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/envoyfilters.networking.istio.io created
    customresourcedefinition.apiextensions.k8s.io/clusterrbacconfigs.rbac.istio.io created
    customresourcedefinition.apiextensions.k8s.io/policies.authentication.istio.io created
    customresourcedefinition.apiextensions.k8s.io/meshpolicies.authentication.istio.io created
    customresourcedefinition.apiextensions.k8s.io/httpapispecbindings.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/httpapispecs.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/quotaspecbindings.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/quotaspecs.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/rules.config.istio.io created
    customresourcedefinition.apiextensions.k8s.io/attributemanifests.config.istio.io created
    ...
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "attributemanifest" in version "config.istio.io/v1alpha2"
    unable to recognize "install/kubernetes/istio-demo.yaml": no matches for kind "attributemanifest" in version 

Это кажется странным, поскольку кажется, что CRD были успешно созданы, но затем, когда на них ссылаются для создания некоторых объектов, тип которых является одним из этих CRD, происходит сбой. Я пропустил другие ошибки, но это происходит также для «обработчика», «logentry», «rule», «metric», «kubernetes», «DestinationRule».

На странице документации https://istio.io/docs/setup/kubernetes/, заявлено, что Istio 1.1 был протестирован с этими выпусками Kubernetes: 1.11, 1.12, 1.13.

Есть у кого-нибудь идеи?

0
lvaills 19 Апр 2019 в 23:14

2 ответа

Лучший ответ

В документах есть шаг для выполнения инициализации CRD. Я не вижу этого в вашем фрагменте, кажется, это то, что вы упускаете.

Так:

$ for i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done

Кажется, ваш отсутствующий CRD определен именно в этом файле: https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio-init/files/crd-10.yaml, но вы должны установить все их.

5
Morishiri 19 Апр 2019 в 20:20

Мой плохой, похоже, что я пропустил первый шаг:

Install all the Istio Custom Resource Definitions (CRDs) using kubectl apply, and wait a few seconds for the CRDs to be committed in the Kubernetes API-server:

  $ for i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done
0
lvaills 19 Апр 2019 в 20:57