我試圖安裝帶有自動邊車注入的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合作非常新,所以如果有人能幫助我將不勝感激。感謝您的時間。
謝謝您的確認。標記爲答案。 –