系列链接

Kubernetes系列之一:在Ubuntu上快速搭建一个集群Demo

Kubernetes系列之二:将Slave节点加入集群

Kubernetes系列之三:部署你的第一个应用程序到k8s集群

Kubernetes系列之四:使用yaml文件创建deployment来部署一个应用程序到k8s集群

Kubernetes系列之五:使用yaml文件创建service向外暴露服务

Kubernetes系列之六:安装k8s通用的Web UI(Dashboard)

Kubernetes系列之N:使用K8s遇到的问题

 

使用Kubeadm安装好集群后,下次再使用kubectl时却不好用,虚拟机在vmware中。

cong@kube-master:~$ kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?
cong@kube-master:~$ su
Password: 
root@kube-master:/home/cong# kubectl get nodes
Unable to connect to the server: dial tcp 192.168.29.137:6443: connect: no route to host

 查看cluster info结果如下:

root@kube-master:/home/cong# kubectl cluster-info
Kubernetes master is running at https://192.168.29.138:6443

#这一行正常情况下应该是有的,但结果没有
#KubeDNS is running at https://192.168.29.138:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

原因竟是master节点的ip变了,因为每次vmware中的虚拟机重启后ip就变了,要想办法把虚拟机的IP固定,参考网址点击这里

Slave节点不好用

这里有一个小小的插曲,就是创建deployment成功后,笔者第二天接着写yaml文件来创建Service,发现访问curl 10.244.2.66:8081 不成功,但查询nodes、deployments、pods等都正常运行,这个问题还没有找到原因,但通过删除slave node,重新join slave node解决了这个问题。

原因竟是master节点的ip又变了,解决办法同上

 

kubectl 如何快速分配管理员权限?

kubectl create serviceaccount --namespace kube-system <serviceaccountname>
kubectl create clusterrolebinding <rolebindingname> --clusterrole=cluster-admin --serviceaccount=<serviceaccountname>
kubectl patch deploy --namespace kube-system <objectname> -p '{"spec":{"template":{"spec":{"serviceAccount":"<serviceaccountname>"}}}}'

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐