问题:

直接更改ingress svc yml文件更改端口报错。

环境说明

1、 k8s部署在纯内网环境,想要外网可以访问,需要外层的服务器做nginx转发。由于公司网络限制,内网服务器和外层服务器互相通信需要使用固范围内的端口。
2、ingress默认使用的http 80;https 443;采用nodeport方式默认的端口暴露范围在 30000-32767。通过更改apiserver nodeport端口范围,达到更改ingress端口的作用。

修改apiserver端口范围

安装方式为kubeadm,会在master产生节点上会有一个文件/etc/kubernetes/manifests/kube-apiserver.yaml。添加 - --service-node-port-range=7000-8000 我设定的端口范围为7000-8000.

apiVersion: v1
kind: Pod
metadata:annotations:kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 172.30.210.23:5709creationTimestamp: nulllabels:component: kube-apiservertier: control-planename: kube-apiservernamespace: kube-system
spec:containers:- command:- kube-apiserver- --advertise-address=192.168.11.8- --allow-privileged=true- --authorization-mode=Node,RBAC- --client-ca-file=/etc/kubernetes/pki/ca.crt- --enable-admission-plugins=NodeRestriction- --enable-bootstrap-token-auth=true- --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt- --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt- --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key- --etcd-servers=https://127.0.0.1:2709- --insecure-port=0- --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt- --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname- --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt- --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key- --requestheader-allowed-names=front-proxy-client- --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt- --requestheader-extra-headers-prefix=X-Remote-Extra-- --requestheader-group-headers=X-Remote-Group- --requestheader-username-headers=X-Remote-User- --secure-port=6001- --service-account-issuer=https://kubernetes.default.svc.cluster.local- --service-account-key-file=/etc/kubernetes/pki/sa.pub- --service-account-signing-key-file=/etc/kubernetes/pki/sa.key- --service-cluster-ip-range=10.10.0.0/16- --tls-cert-file=/etc/kubernetes/pki/apiserver.crt- --tls-private-key-file=/etc/kubernetes/pki/apiserver.key- --service-node-port-range=7000-8000image: 192.168.11.13:6010/k8s/kube-apiserver:v1.21.0imagePullPolicy: IfNotPresentlivenessProbe:failureThreshold: 8httpGet:host: 192.168.11.8path: /livezport: 5709scheme: HTTPSinitialDelaySeconds: 10periodSeconds: 10timeoutSeconds: 15name: kube-apiserverreadinessProbe:failureThreshold: 3httpGet:host: 192.168.11.8path: /readyzport: 5709scheme: HTTPSperiodSeconds: 1timeoutSeconds: 15resources:requests:cpu: 250mstartupProbe:failureThreshold: 24httpGet:host: 192.168.11.8path: /livezport: 5709scheme: HTTPSinitialDelaySeconds: 10periodSeconds: 10timeoutSeconds: 15volumeMounts:- mountPath: /etc/ssl/certsname: ca-certsreadOnly: true- mountPath: /etc/pkiname: etc-pkireadOnly: true- mountPath: /etc/kubernetes/pkiname: k8s-certsreadOnly: truehostNetwork: truepriorityClassName: system-node-criticalvolumes:- hostPath:path: /etc/ssl/certstype: DirectoryOrCreatename: ca-certs- hostPath:path: /etc/pkitype: DirectoryOrCreatename: etc-pki- hostPath:path: /etc/kubernetes/pkitype: DirectoryOrCreatename: k8s-certs
status: {}

重新启动apiserver

获取apiserver pod名:
export apiserver_pods=$(kubectl get pods --selector=component=kube-apiserver -n kube-system --output=jsonpath={.items..metadata.name})
删除上面获取的pod:
kubectl delete pod $apiserver_pods -n kube-system

更改ingress端口

1、找到部署ingress-nginx的yml文件注释如下内容:

hostNetwork: true

不进行注释默认使用80,443端口。
更改默认端口记得注释!由于本人忘记注释,netstat -tnlp |grep 80 发现端口仍被占用,这可能就会导致ingress使用出现异常。

2、修改ingress service yml文件配置,添加nodePort后,重新部署。

apiVersion: v1
kind: Service
metadata:name: ingress-nginxnamespace: ingress-nginxlabels:app.kubernetes.io/name: ingress-nginxapp.kubernetes.io/part-of: ingress-nginx
spec:type: NodePortports:- name: httpport: 80nodePort: 6001targetPort: 80protocol: TCP- name: httpsport: 443nodePort: 6002targetPort: 443protocol: TCPselector:app.kubernetes.io/name: ingress-nginxapp.kubernetes.io/part-of: ingress-nginx

查看ingress-nginx使用的端口是否更改

[root@k8s-master ingress]# kubectl get svc -n gray
NAME     TYPE         CLUSTER-IP       EXTERNAL-IP    PORT(S)                     AGE
gray     nodeport    10.10.213.255     <none>         80:6001/TCP,443:6002/TCP    2m12s

ingress-nginx部署方式不同,yml文件不同,这里只是个人的解决方式,仅限参考。

ingress-nginx更改默认端口/修改apiserver端口范围相关推荐

  1. iis服务器修改端口,Apache、Nginx、IIS服务器修改网站端口教程

    以下分别介绍Apache.Nginx.IIS服务器修改网站端口的基本方法. 一.针对Apache服务器 找到 httpd.conf 文件,一般在 Apache 安装目录的 conf 文件夹下就能看到该 ...

  2. windows 修改nginx端口号_nginx怎么修改端口-linux下修改nginx端口-nginx更改默认端口...

    nginx 修改端口没用 从左边的图片看来 应该是80端口被占用了,所以无法启动nginx,可以使用lsof -i:80查看端口是否被使用. 从右边的图片看,你配置的端口是8083,你将localho ...

  3. 怎么在linux上修改mysql端口映射_如何在Linux中更改默认的MySQL / MariaDB端口

    在本指南中,我们将学习如何更改MySQL / MariaDB数据库在CentOS 7和基于Debian的Linux发行版中绑定的默认端口. MySQL数据库服务器在Linux和Unix下运行的默认端口 ...

  4. html 端口修改,tomcat端口号在哪里修改?

    在默认情况下,tomcat的端口是8080,使用了两个tomcat,那么就需要修改其中的一个的端口号才能使得两个同时工作.那么,如何修改tomcat的端口号呢?下面本篇文章给大家介绍一下. 首先到安装 ...

  5. linux下开放sftp端口,在Linux系统中更改默认的SFTP端口及使用新的SFTP端口

    本文介绍如何在Linux操作系统中更改默认的SFTP端口,支持Ubuntu.CentOS等发行版,同时还将向您展示如何配置防火墙以允许在新端口上使用.先声明的一点是不要将SFTP与FTPS混淆,因为两 ...

  6. 计算机 打开3389端口,3389端口修改和打开【图文教程】

    电脑的应用,改变了人们以往的传统生活,也让我们的工作,信息交流变得越来越快捷和方便,不过电脑的一些功能,一般人还是捉摸不透的,特别是电脑自带的智能化的指令和端口,如果不懂的,等用到了,还真没办法使用, ...

  7. open wrt 跟换主题_openwrt 更改默认主题

    openwrt 更改默认主题 BB 版本默认的主题为 bootstrap,想要修改为其他的主题,可以按照如下方法修改: 1.查看可以使用的主题. "make menuconfig" ...

  8. sql数据库服务器端口修改,SQL SERVER 2012更改默认的端口号为1772

    打开开始菜单,找到sqlserver的配置管理器,点击打开 按下图配置右边窗口三项: 按下图配置右边三项: 按下图配置右边三项: 点击下图左边的SQL Server网络配置/MSSQLSERVER的协 ...

  9. windows server 更改默认服务端口

    在linux中,我们更改某个服务的服务端口时,我们可以更改配置文件,但是在Windows中就需要更改注册表的信息,相对来说比较麻烦一些 ,下面是一篇关于Windows更改服务端口的文章,记录此笔机,以 ...

最新文章

  1. iOS Block实现探究
  2. J. Cheminform. | 基于SMILES的利用骨架的分子生成模型
  3. Chkdsk 工具将自动启动时启动的运行 Windows XP Service Pack 2 计算机扫描磁盘
  4. 缓存一致性和跨服务器查询的数据异构解决方案canal
  5. BI和大数据你能分清吗?
  6. loadRunner目录分析二
  7. python测试脚本 进制转换_[python] 转换python脚本程序为二进制ELF
  8. 空洞卷积(Atrous convolution)
  9. msdia140.dll 已加载,但对DllRegisterServer 的调用失败, 错误代码: 0x80070005
  10. mysql heartbeat_mysql管理工具之pt-heartbeat
  11. 客房管理系统前台代码html,客房管理系统|客房软件|PMS系统|酒店管理系统|酒店管理软件...
  12. LOL英雄联盟打不了文字,打字就一闪一闪的,英文可以,解决方式
  13. 数据分析学习之路——(三)从泰坦尼克号撞击冰山后开始说起
  14. 用代理服务器加速爬虫速率
  15. Excel-数据透视表快捷操作--数值占比汇总
  16. 行存储 VS 列存储
  17. cocos2dx-lua项目的构建、编译细则
  18. 基于vc的数字图像分割——基于阙值的分割方法
  19. 细谈Type-C、PD原理(二)
  20. 支持tcam的服务器,使用tcam实现数据流的选择性路由

热门文章

  1. 云管边端架构图_车路协同的云管边端架构及服务研究
  2. 合合信息受邀参与中国计算机学会计算机视觉专委会年度学术研讨会
  3. [Abp 源码分析]五、系统设置
  4. hive窗口函数之排名函数row_number、rank和dense_rank
  5. Linux 怎么配置yum源,配置yum源的两种方法
  6. 销售管理中如何做好营销活动
  7. 01背包的状态转移方程
  8. SpringCloud五大神兽01-Eureka注册中心
  9. controller 返回时修改HTTP状态码
  10. 【应用】如何使用 element-ui 之 NavMenu 导航菜单 中 的 router 属性(在激活导航时以 path 进行路由跳转)