我试图安装带有自动边车注入的Istio到Kubernetes中。我的环境由三个主人和两个节点组成,并使用Azure容器服务市场产品在Azure上构建。在Kubernetes中使用自动边车注入安装Istio:istio-inializer.yaml验证失败
继文档位于here,我至今已启用RBAC
和DynamicAdmissionControl
。我已通过在Kubernetes Master上修改/etc/kubernetes/istio-inializer.yaml
来完成此操作,方法是添加following content outlined in red,然后使用Unix命令reboot
重新启动Kubernetes Master。
文档中的下一步是使用kubectl
来应用yaml。我认为该文档旨在让用户在此步骤之前克隆Istio存储库和cd
,但未提及。
git clone https://github.com/istio/istio.git
cd istio
kubectl apply -f install/kubernetes/istio-initializer.yaml
在这之后会发生以下错误:
[email protected]:~/istio$ kubectl apply -f install/kubernetes/istio-initializer.yaml
configmap "istio-inject" configured
serviceaccount "istio-initializer-service-account" configured
error: error validating "install/kubernetes/istio-initializer.yaml": error validating data: found invalid field initializers for v1.ObjectMeta; if you choose to ignore these errors, turn validation off with --validate=false
如果我尝试与所提到的标志,validate=false
执行kubectl apply
,则代替产生这样的错误:
[email protected]:~/istio$ kubectl apply -f install/kubernetes/istio-initializer.yaml --validate=false
configmap "istio-inject" configured
serviceaccount "istio-initializer-service-account" configured
deployment "istio-initializer" configured
error: unable to recognize "install/kubernetes/istio-initializer.yaml": no matches for admissionregistration.k8s.io/, Kind=InitializerConfiguration
I”我不知道该从哪里出发。该问题似乎与yaml
中的admissionregistration.k8s.io/v1alpha1
块有关,但我不确定此块中具体是不正确的。
apiVersion: admissionregistration.k8s.io/v1alpha1
kind: InitializerConfiguration
metadata:
name: istio-sidecar
initializers:
- name: sidecar.initializer.istio.io
rules:
- apiGroups:
- "*"
apiVersions:
- "*"
resources:
- deployments
- statefulsets
- jobs
- daemonsets
安装Kubernetes的版本:
[email protected]:~/istio$ kubectl version
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.6", GitCommit:"7fa1c1756d8bc963f1a389f4a6937dc71f08ada2", GitTreeState:"clean", BuildDate:"2017-06-16T18:21:54Z", GoVersion:"go1.7.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.6", GitCommit:"7fa1c1756d8bc963f1a389f4a6937dc71f08ada2", GitTreeState:"clean", BuildDate:"2017-06-16T18:21:54Z", GoVersion:"go1.7.6", Compiler:"gc", Platform:"linux/amd64"}
我怀疑这是一个版本不匹配。作为后续问题,是否可以使用ACS将一个版本的kubernetes> = 1.7.4部署到Azure?
我对与Kubernetes合作非常新,所以如果有人能帮助我将不胜感激。感谢您的时间。
谢谢您的确认。标记为答案。 –