k8s1.30 部署 Ingress-nginx
1)下载ingress配置文件
备注
ingress镜像已替换成国内镜像源,不会拉取失败
wget https://resource-obsbothk.com/Soft/K8S/ingress/ingress_deploy.yaml
安装ingress,并查看服务状态,看是否都是running
kubectl apply -f ingress_deploy.yaml
# 查看服务状态
watch kubectl get pods,svc -n ingress-nginx
2)如果要使用80/443端口访问service,更改ingress-nginx配置文件,如下
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.12.3
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
externalTrafficPolicy: Local
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- appProtocol: http
name: http
port: 80
nodePort: 80 # 新增nodePort 80端口
protocol: TCP
targetPort: http
- appProtocol: https
name: https
port: 443
nodePort: 443 # 新增nodePort 443端口
protocol: TCP
targetPort: https
selector:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
type: NodePort # 端口暴露方式改成 NodePort
# 刷新ingress 配置
kubectl apply -f ingress_deploy.yaml
3)刷新配置时,遇到报错提示,还需添加kube配置

vi /etc/kubernetes/manifests/kube-apiserver.yaml
# 在command最后面添加
- --service-node-port-range=1-65535
重启kubectl
systemctl daemon-reload
systemctl restart kubelet
# 查看ingress controller 是否如下图所示:
watch kubectl get pods,svc -n ingress-nginx
