2015-09-25 65 views
2

運行CoreOS,etcd默認情況下不安全。爲了保護它,我可以使用TLS,這增加了我願意處理的複雜程度。Kubernetes TLS安全etcd

現在,Kubernetes能夠使用TLS安全的etcd集羣嗎?

在kubelet和各種豆莢的配置中,Kubernetes將etcd端點作爲參數傳遞,因此它們需要etcd,並且如果它是安全的,則需要證書才能與之通信。 如果Kubernetes支持到etcd的TLS連接,它是如何配置的?

謝謝

回答

3

進一步挖掘,並要求在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" 
    } 
} 

還沒有試過,但會盡快。

+0

谷歌組主題不再存在。 –

+0

因爲現在你需要使用etcd上的標誌。請參閱etcd api doc – MrE

+0

https://groups.google.com/forum/#!searchin/kubernetes-users/$20"consistency"$3A$20"STRONG_CONSISTENCY"|sort:date/kubernetes-users/bTfEcRQ3N28/yEQJjVL4AAAJ – Muzammil

3

API服務器是直接與etcd對話的唯一組件。在啓動API服務器時,您可以傳遞--etcd-config=/path/to/client/config參數,而不僅僅指向不安全的etcd服務器,其中--etcd-server

在該配置文件中,您將指定etcd服務器以及客戶端憑證(cert/key)用於連接。

的預期格式由go-ETCD客戶NewClientFromFile功能,預計Client結構的JSON序列化,特別是configcluster

+0

謝謝...你有編寫這個配置文件的文檔的一些鏈接?什麼是格式和使用的關鍵。證書/密鑰有點模糊。 – MrE

+0

PS:PodMaster也參考--etcd-servers – MrE

+0

我沒有意識到這一點... podmaster不在覈心存儲庫...我打開一個問題,使其行爲與api服務器(https: //github.com/kubernetes/contrib/issues/133) –

相關問題