我尝试使用rkt在我家的真实(非虚拟)核心服务器上使用https://github.com/coreos/coreos-kubernetes/tree/master/multi-node/generic上的脚本安装kuberentes,我有一些问题。
ADVERTISE_IP
和CONTROLLER_ENDPOINT
提供域而不是IP吗? 谢谢!
Rob非常感谢你的回复。关于etcd2,我不够清楚。我已经在我的coreos服务器上安装并正确配置了etcd2 tls。所以我在controller-install.sh文件中配置了我的etcd服务器:
export ETCD_ENDPOINTS="https://coreos-2.tux-in.com:2379,https://coreos-3.tux-in.com:2379"
但是当我运行controller-install.sh
脚本时,它返回并重复以下输出:
Waiting for etcd...
Trying: https://coreos-2.tux-in.com:2379
Trying: https://coreos-3.tux-in.com:2379
Trying: https://coreos-2.tux-in.com:2379
Trying: https://coreos-3.tux-in.com:2379
...
所以我猜它是因为我没有在控制器脚本中定义与etcd相关的tls证书,这就是它陷入困境的原因。
在我的macbook pro笔记本电脑上我配置了以下别名:
alias myetcdctl="~/apps/etcd-v3.0.8-darwin-amd64/etcdctl --endpoint=https://coreos-2.tux-in.com:2379 --ca-file=/Users/ufk/Projects/coreos/tux-in/etcd/certs/certs-names/ca.pem --cert-file=/Users/ufk/Projects/coreos/tux-in/etcd/certs/certs-names/etcd1.pem --key-file=/Users/ufk/Projects/coreos/tux-in/etcd/certs/certs-names/etcd1-key.pem --timeout=10s"
所以,当我运行myetcdctl member list
时,我得到了:
8832ce6a269a7dac: name=ccff826d5f564c67abf35467306f80a0 peerURLs=https://coreos-3.tux-in.com:2380 clientURLs=https://coreos-3.tux-in.com:2379 isLeader=true
a2c0ac9708ef90fc: name=dc38bc8f20e64940b260d3f7b260430d peerURLs=https://coreos-2.tux-in.com:2380 clientURLs=https://coreos-2.tux-in.com:2379 isLeader=false
所以我猜我在那里真的没有问题。
任何想法?
谢谢!
答案 0 :(得分:1)
我的etcd2正在使用tls密钥,我无法在脚本的任何地方看到我可以定义证书所在的位置。
这些脚本不会启动etcd服务器。您需要手动设置一个,并且可以使用TLS和任意数量的节点。在目前的文件形式中,这一点并不清楚,我将尝试修复公关。
我可以为ADVERTISE_IP和CONTROLLER_ENDPOINT提供域而不是IP吗?
只有CONTROLLER_ENDPOINT才是域名。
当我尝试手动安装kubernetes时,我需要启动rkt服务api。它没有在这里需要的文件中说明,这是否意味着如果我使用这些脚本我就不需要它?或者只是文件中缺少的东西?
这些脚本包括/启动rkt API服务。如下所示,它还有一个Restart参数集(source):
[Unit]
Before=kubelet.service
[Service]
ExecStart=/usr/bin/rkt api-service
Restart=always
RestartSec=10
[Install]
RequiredBy=kubelet.service