Istio 1.1.3 和 Kubernetes 1.13.5 安装错误
Installation error with Istio 1.1.3 and Kubernetes 1.13.5
我正在尝试在部署在 minikube 1.0.0 上的 Kubernetes 1.13.5 上安装 Istio 1.13.1,但最后我遇到了一些错误。这是安装日志:
$ 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 之一的对象时,它就会失败。
我省略了其他错误,但 "handler"、"logentry"、"rule"、"metric"、"kubernetes"、"DestinationRule" 也会发生这种情况
.
在文档页面 https://istio.io/docs/setup/kubernetes/ 上,声明
Istio 1.1 已经在这些 Kubernetes 版本上进行了测试:1.11、1.12、1.13。
有人有想法吗?
在docs中有一个执行CRDs init的步骤。我在您的代码段中没有看到这一点,似乎这就是您所缺少的。
所以:
$ 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 但您应该安装所有这些文件。
我的错,我好像跳过了第一步:
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
我正在尝试在部署在 minikube 1.0.0 上的 Kubernetes 1.13.5 上安装 Istio 1.13.1,但最后我遇到了一些错误。这是安装日志:
$ 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 之一的对象时,它就会失败。 我省略了其他错误,但 "handler"、"logentry"、"rule"、"metric"、"kubernetes"、"DestinationRule" 也会发生这种情况 .
在文档页面 https://istio.io/docs/setup/kubernetes/ 上,声明 Istio 1.1 已经在这些 Kubernetes 版本上进行了测试:1.11、1.12、1.13。
有人有想法吗?
在docs中有一个执行CRDs init的步骤。我在您的代码段中没有看到这一点,似乎这就是您所缺少的。
所以:
$ 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 但您应该安装所有这些文件。
我的错,我好像跳过了第一步:
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