Kubernetes集群部署ingress-nginx

Kubernetes集群部署ingress-nginx

  • 软件版本:

    kubenetes1.20+

    ingress-nginx chart 4.0.9

    ingress-nginx1.0.5

Helm安装ingress-nginx

安装

  1. 添加ingress-nginx仓库

    helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
    
  2. 查看ingress-nginx

    helm search repo ingress-nginx --versions
    
  3. 拉取指定版本的chart包

    helm pull ingress-nginx/ingress-nginx --version 4.0.9 #如果下载不了,根据提示信息的URL地址,用浏览器手动下载,上传到服务器
    
  4. 解压chart包

    tar -xzvf ingress-nginx-4.0.9.tgz
    
  5. 打开values配置文件

    vi ingress-nginx/values.yaml
    
  6. 修改如下参数

    registry和image是修改镜像仓库和镜像名为阿里云的仓库(该仓库为个人用户仓库),官方镜像国内网络基本拉取不下来,默认配置使用Deployment控制器,副本数为1,你可以修改为DaemonSet,每个节点部署一个pod,此处使用nodeSelector将ingress控制器固定在master上

    controller:
      image:
        registry: registry.aliyuncs.com/google_containers # 第13行
        image: nginx-ingress-controller # 第14行
      hostNetwork: true # 第81行,设置使用主机网络,必须的
      ingressClassResource:
        default: true # 第101行,设置ingress-nginx为默认ingressClass控制器,否则使用ingress时需要指定使用nginx
      tolerations: # 第212行,设置污点容忍度,在该行下面插入,请自行根据master上的污点设置
      - key: "node-role.kubernetes.io/master"
        operator: "Equal"
        value: ""
        effect: "NoSchedule"
      nodeSelector:
        node-role.kubernetes.io/master: "" # 第286行,选择master节点,需要master上有该标签
      admissionWebhooks:
        patch:
          image:
            registry: registry.aliyuncs.com/google_containers # 第600行
            image: kube-webhook-certgen # 第601行
    defaultBackend:
      enabled: true # 第721行,启用默认后端,如果不需要,下面2行也不用改
      image:
        registry: registry.aliyuncs.com/google_containers # 第725行
        image: defaultbackend # 第726行
        tag: "1.4" # 第730行,目前没有同步1.5的镜像,改为1.4
    
    
  7. 创建名称空间

    kubectl create namespace ingress-nginx
    
  8. 安装ingress-nginx

    helm install ingress-nginx ingress-nginx -n ingress-nginx
    

检查部署

  1. 查看pod,控制器成功在master上

    kubectl get pod -n ingress-nginx -o wide
    
  2. 测试

    浏览器访问master的ip地址,启用了默认后端则提示default backend - 404,如果没有启用默认后端,则提示nginx的404 Not Found,安装完成。

清理

  1. 删除chart压缩包

    解压出来的文件夹,不建议删除,可用于恢复和更改服务

    rm -rf ingress-nginx-4.0.9.tgz
    

你可能感兴趣的:(kubernetes,kubernetes,ingress,nginx)