为Kubernetes中的主服务器配置AWS PublicIP

时间:2018-10-17 16:47:38

标签: kubernetes kubeadm

我确实使用以下命令创建了主集群:

kubeadm init --pod-network-cidr $CALICO_NETWORK

现在它正在侦听内部IP 10.3.8.23:6443,这是可以的,因为我希望主服务器使用内部IP与节点进行通信。

现在我想使用公共IP访问群集,并且出现以下错误:

http:代理错误:x509:证书对10.96.0.1、10.3.8.23有效,对18.230。*。*无效。

如何为publicIP生成其他证书?

我需要使用公共IP才能通过浏览器访问仪表板。

我使用https://github.com/kubernetes/dashboard

进行安装

2 个答案:

答案 0 :(得分:2)

如果您不想重新创建集群,也可以执行此处描述的操作:Invalid x509 certificate for kubernetes master

对于K8 1.7和更早版本:

rm /etc/kubernetes/pki/apiserver.*
kubeadm alpha phase certs selfsign \
  --apiserver-advertise-address=0.0.0.0 \
  --cert-altnames=10.96.0.1 \
  --cert-altnames=10.3.8.23 \
  --cert-altnames=18.230.x.x  # <== Public IP
docker rm `docker ps -q -f 'name=k8s_kube-apiserver*'`
systemctl restart kubelet

对于K8s 1.8或更高版本:

rm /etc/kubernetes/pki/apiserver.*
kubeadm alpha phase certs all \
  --apiserver-advertise-address=0.0.0.0 \
  --apiserver-cert-extra-sans=10.96.0.1,10.3.8.23,18.230.x.x # <== Public IP
docker rm -f `docker ps -q -f 'name=k8s_kube-apiserver*'`
systemctl restart kubelet

您还可以使用--apiserver-cert-extra-sans选项添加DNS名称。

答案 1 :(得分:0)

如果要使用公用IP访问群集,可以使用LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); recyclerView.setLayoutManager(linearLayoutManager); recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); switch (newState) { case RecyclerView.SCROLL_STATE_SETTLING: currentItemPosition=linearLayoutManager.findFirstCompletelyVisibleItemPosition(); } } 命令传递IP。喜欢:

kubeadm init
相关问题