2019-03-11
VMware workstation安装K8s单节点
问题:
按照kubernetes权威指南安装的K8s,到myweb那一步的时候,本地主机死活访问不到Pod。
排查:
使用以下命令查看service地址及Pod端口,然后本地curl。
kubectl get svc
通了。
然后使用本地IP+PORT的方式curl,也通了。
但是在本机浏览器打不开,所以问题定位在本地与虚拟机之间端口问题。
怀疑服务器防火墙问题,但防火墙是关闭的,然后怀疑iptables规则问题,开放端口后还不通。然后求助公司大神,得知是因为公司内网只开放8000-9000端口,其他都墙了。
解决:
一、修改默认端口限制
修改K8s的NodePort默认开放的端口范围
由于是二进制安装的K8s,没有apiserver.yaml文件可供修改。
修改/etc/kubernetes/apiserver文件,添加如下内容并重启apiserver
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16 --service-node-port-range=8000-9000"
systemctl restart kube-apiserver
image
二、修改yaml文件中的PORT为8000-9000范围内的端口
vi /data/k8s/myweb-svc.yaml
将30001修改为8000-9000之间的端口
kubectl apply -f /data/k8s/myweb-svc.yaml 重新部署
kubectl get svc 再次查看端口是否已经更新
原文链接:https://blog.csdn.net/yelllowcong/article/details/80680408
如果是yaml格式的apiserver文件,修改如下
vim /etc/kubernetes/manifests/kube-apiserver.yaml
- --service-node-port-range=8222-9555
image.jpg
修改k8s配置后 重启操作
[root@k8s-master dashboard]# systemctl daemon-reload
[root@k8s-master dashboard]# systemctl restart kubelet
[root@k8s-master dashboard]# systemctl status kubelet
网友评论