运行CoreOS,etcd在默认情况下是不安全的。为了保护它,我可以使用TLS,这增加了我愿意工作的复杂程度。
现在,Kubernetes能够使用TLS安全的etcd集群吗?
在kubelet和各种豆荚的配置中,Kubernetes将etcd端点作为参数传递,因此它们需要etcd,如果它是安全的,则需要证书来与其对话。如果Kubernetes支持到etcd的TLS连接,它是如何配置的?
谢谢
发布于 2015-09-28 17:17:43
进一步挖掘并询问github项目时,我被告知这篇文章,我希望回答以下问题:
https://groups.google.com/forum/#!topic/google-containers/bTfEcRQ3N28/discussion
简而言之,配置文件应该如下所示:
{
"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"
}
}
还没试过但会尽快。
发布于 2015-09-26 04:27:13
API服务器是唯一直接与etcd对话的组件。启动API服务器时,可以传递一个--etcd-config=/path/to/client/config
参数,而不只是指向带有--etcd-server
的不安全etcd服务器。
在该配置文件中,您将指定etcd服务器以及用于连接的客户端凭据(cert/key)。
格式是go-etcd客户端NewClientFromFile函数所期望的格式,它需要客户端结构的JSON序列化,特别是config
和cluster
键。
https://stackoverflow.com/questions/32790101
复制相似问题