周顺的技术博客

  • 安装部署
  • 首页
  • 榜上有名
  • 文章归档
  • 读者排行
  • 豆瓣书影
  • 友情链接
  • DevOps (4)
  • Docker (4)
  • k8s (9)
  • linux (11)
  • Mysql (9)
  • Python (2)
  • Redis (1)
  • Shell (6)
  • 主题 (0)
  • 未分类 (0)

Kuberntes IngressController

  • xiaoteng
  • 2026-05-11
  • 6

Kubernetes Ingress Controller = Nginx + Lua + Ingress Controller

安装部署

项目地址:https://github.com/kubernetes/ingress-nginx

安装文档地址: https://github.com/kubernetes/ingress-nginx/blob/nginx-0.30.0/docs/deploy/index.md

  • 1 查看ReadME文档
  • 2 跳转到相应的帮助文档
  • 3 找到Yaml创建方式
PowerShell
# 根据官方手册,下载 Yaml 文件
# 你也可以加上 -O ingress-nginx.yaml 的参数,相当于文件重命名
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.12.0/deploy/static/provider/cloud/deploy.yaml -O ingress-nginx.yaml

# 查看文件
ll -rt
  • 4 修改镜像拉取位置

我们学习 Docker 和 K8S,大部分遇到的问题,都是镜像拉取不到导致的失败 因此,把 registry.k8s.io 镜像,替换成 registry.cn-hangzhou.aliyuncs.com 镜像 这里面,总共两个镜像 kube-webhook-certgen:v1.5.0 /ingress-nginx/controller:v1.12.0 修改他们的镜像源

# sed 统一替换,总共改了三处
sed -i 's|registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.5.0.*|registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.5.0|g' ingress-nginx.yaml

sed -i 's|registry.k8s.io/ingress-nginx/controller:v1.12.0.*|registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.12.0|g' ingress-nginx.yaml
  • 5 修改配置

423行左右的位置,添加 hostNetwork: true

hostNetwork: true的补充说明:

此参数为true表示pod使用主机网络,也就是pod的IP就是node的IP

若不添加,后续使用 域名:nodeport 访问

添加之后,直接使用域名访问

  • 6 为了加快拉取速度,我们先把镜像拉取到本地)
# 拉取 nginx-ingress-controller
ctr -n k8s.io i pull registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.12.0

# 拉取 kube-webhook-certgen
ctr -n k8s.io i pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.5.0

# 查看拉取列表,思考 -E 表示什么
ctr -n k8s.io i ls | grep -E 'ingress|webhook'
  • 7 应用配置文件
[root@master1 ~]# kubectl apply -f ingress-nginx.yaml
# 这里介绍一个新命令 get all
kubectl get all -n ingress-nginx

© 2026 周顺的技术博客
Theme by Wing
  • {{ item.name }}
  • {{ item.name }}