美文网首页
修改K8s的nodeport模式暴露的端口范围

修改K8s的nodeport模式暴露的端口范围

作者: 桩i | 来源:发表于2019-03-11 12:45 被阅读0次

    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
    

    相关文章

      网友评论

          本文标题:修改K8s的nodeport模式暴露的端口范围

          本文链接:https://www.haomeiwen.com/subject/mjpvpqtx.html