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-