千家信息网

k8s ingress-nginx 0.25.1 最新版部署和例子

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,k8s ingress-nginx 0.25.1 最新版部署和例子说明https://github.com/kubernetes/ingress-nginx/blob/master/docs/depl
千家信息网最后更新 2025年02月04日k8s ingress-nginx 0.25.1 最新版部署和例子

k8s ingress-nginx 0.25.1 最新版部署和例子

说明

https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md增加了7层的识别能力,可以根据 http header, path 等进行路由转发

部署

wget  https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yamlsed -i 's#quay.io/kubernetes-ingress-controller/nginx-ingress-controller#registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller#g' mandatory.yamlcat service-nodeport.yamlapiVersion: v1kind: Servicemetadata:  name: ingress-nginx  namespace: ingress-nginx  labels:    app.kubernetes.io/name: ingress-nginx    app.kubernetes.io/part-of: ingress-nginxspec:  type: NodePort  ports:    - name: http      port: 80      targetPort: 80      protocol: TCP      nodePort: 32080  #http    - name: https      port: 443      targetPort: 443      protocol: TCP      nodePort: 32443  #https  selector:    app.kubernetes.io/name: ingress-nginx    app.kubernetes.io/part-of: ingress-nginx
kubectl create -f  mandatory.yamlkubectl create -f  service-nodeport.yaml

检查

kubectl get pod -n ingress-nginx -o widekubectl scale --replicas=2  deploy/nginx-ingress-controller -n ingress-nginx

例子

vim  deploy-demo.yamlapiVersion: v1kind: Servicemetadata:  name: myapp  namespace: defaultspec:  selector:    app: myapp    release: stable  ports:  - name: myapp    port: 80    targetPort: 80---apiVersion: apps/v1kind: Deploymentmetadata:  name: myapp  namespace: defaultspec:  selector:    matchLabels:      app: myapp      release: stable   replicas: 3   template:     metadata:       labels:         app: myapp         release: stable      spec:        containers:        - name: myapp          image: nginx          imagePullPolicy: IfNotPresent        ports:        - name: myapp      containerPort: 80vim  ingress-myapp.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata:name: ingress-myappnamespace: defaultannotations:   kubernetes.io/ingress.class: "nginx"spec:  rules:  - host: httpd.hequan.com    http:     paths:     - path:       backend:        serviceName: myapp        servicePort: 80kubectl create -f  deploy-demo.yamlkubectl create -f  ingress-myapp.yaml #修改hosts   node节点ip192.168.100.112   httpd.hequan.com  访问 httpd.hequan.com:32080
0