運行CoreOS,etcd默認情況下不安全。爲了保護它,我可以使用TLS,這增加了我願意處理的複雜程度。Kubernetes TLS安全etcd
現在,Kubernetes能夠使用TLS安全的etcd集羣嗎?
在kubelet和各種豆莢的配置中,Kubernetes將etcd端點作爲參數傳遞,因此它們需要etcd,並且如果它是安全的,則需要證書才能與之通信。 如果Kubernetes支持到etcd的TLS連接,它是如何配置的?
謝謝
運行CoreOS,etcd默認情況下不安全。爲了保護它,我可以使用TLS,這增加了我願意處理的複雜程度。Kubernetes TLS安全etcd
現在,Kubernetes能夠使用TLS安全的etcd集羣嗎?
在kubelet和各種豆莢的配置中,Kubernetes將etcd端點作爲參數傳遞,因此它們需要etcd,並且如果它是安全的,則需要證書才能與之通信。 如果Kubernetes支持到etcd的TLS連接,它是如何配置的?
謝謝
進一步挖掘,並要求在GitHub的項目,我被指揮對這個職位,我希望回答了這個問題:
https://groups.google.com/forum/#!topic/google-containers/bTfEcRQ3N28/discussion
總之config文件應該是這樣的:
{
"cluster": {
"machines": [
"https://kube-master.internal:2379",
"https://kube-minion1.internal:2379",
"https://kube-minion2.internal:2379"
]
},
"config": {
"certFile": "/etc/etcd/kube-master.internal.pem",
"keyFile": "/etc/etcd/kube-master.internal.key",
"caCertFiles": [ "/etc/etcd/kubecluster-ca.pem" ],
"consistency": "STRONG_CONSISTENCY"
}
}
還沒有試過,但會盡快。
API服務器是直接與etcd對話的唯一組件。在啓動API服務器時,您可以傳遞--etcd-config=/path/to/client/config
參數,而不僅僅指向不安全的etcd服務器,其中--etcd-server
在該配置文件中,您將指定etcd服務器以及客戶端憑證(cert/key)用於連接。
的預期格式由go-ETCD客戶NewClientFromFile功能,預計Client結構的JSON序列化,特別是config
和cluster
鍵
谷歌組主題不再存在。 –
因爲現在你需要使用etcd上的標誌。請參閱etcd api doc – MrE
https://groups.google.com/forum/#!searchin/kubernetes-users/$20"consistency"$3A$20"STRONG_CONSISTENCY"|sort:date/kubernetes-users/bTfEcRQ3N28/yEQJjVL4AAAJ – Muzammil