ingress

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