38 k8s-19.1.1Ingress安装
1.1 Ingress安装
首先安装helm管理工具:https://helm.sh/docs/intro/install/ 使用helm安装ingress:https://kubernetes.github.io/ingress-nginx/deploy/#using-helm 1. 添加ingress的helm仓库 01.# helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx 02.# helm search repo ingress-nginx #要使用APP VERSION大于0.4.2的版本 2. 下载ingress的helm包至本地 # helm pull ingress-nginx/ingress-nginx --version 3.6.0 3. 更改对应的配置 tar xvf ingress-nginx-3.6.0.tgz cd ingress-nginx vim values.yaml 4. 需要修改的位置 a) Controller和admissionWebhook的镜像地址,需要将公网镜像同步至公司内网镜像仓库(和文档不一致的版本,需要自行同步gcr镜像的,可以百度查一下使用阿里云同步gcr的镜像,也可以参考这个链接https://blog.csdn.net/weixin_39961559/article/details/80739352, 或者参考这个链接: https://blog.csdn.net/sinat_35543900/article/details/103290782) 修改repository为地址registry.cn-beijing.aliyuncs.com/dotbalo/controller,并注释掉哈希值; ////Controller和admissionWebhook的镜像备选的地址 image: registry: registry.aliyuncs.com #修改镜像仓库地址 image: google_containers/nginx-ingress-controller #修改镜像仓库和镜像名 //// b) 镜像的hash值注释; c) hostNetwork设置为true; d) dnsPolicy设置为 ClusterFirstWithHostNet; e) nodeSelector添加ingress: "true"部署至指定节点; f) 默认的类型是Deployment,更改为kind: DaemonSet; g) type: 默认是LoadBalancer(云环境使用这个) ,修改为ClusterIP; h) 建议根据生产实际环境修改requests; i) 建议根据生产实际环境修改admissionWebhooks; 要使用APP VERSION大于0.4.2的版本,大于这个版本,这个enabled不需要修改 j) image修改镜像地址为registry.cn-beijing.aliyuncs.com/dotbalo/kube-webhook-certgen //此项的备用地址参考a项目的备用地址// 5. 部署ingress 给需要部署ingress的节点上打标签 01.//创建命名空间叫ingress-nginx # kubectl create ns ingress-nginx 02.//获取所有namespace; # kubectl get ns //查看到ingress-nginx创建完成;// 03.//取所有工作节点 # kubectl get node 04.//比如我们给部署在master03上ingress的节点上打标签 # kubectl label node k8s-master03 ingress=true node/k8s-master03 labeled 05.//注意末尾的 . (点) # helm install ingress-nginx -n ingress-nginx . 06.//镜像拉取快慢取决于镜像地址,国内的阿里云比较快(多次刷新看到结果Ready 1/1,STATUS:Running为止) [root@k8s-master01 ingress-nginx]# kubectl get pod -n ingress-nginx 6. 将ingress controller部署至Node节点(ingress controller不能部署在master节点,需要安装视频中的步骤将ingress controller部署至Node节点,生产环境最少三个ingress controller,并且最好是独立的节点) kubectl label node k8s-node01 ingress=true kubectl label node k8s-master03 ingress-