当前位置:   article > 正文

ingress部署_get ingresses.extensions

get ingresses.extensions

1. ingress的部署方

官方简介在https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md

执行如下命令:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
执行如下代码检查部署情况

kubectl get pods --all-namespaces -l app.kubernetes.io/name=ingress-nginx --watch
安装完成后,执行如下命令检查ingress版本号
  1. POD_NAMESPACE=ingress-nginx
  2. POD_NAME=$(kubectl get pods -n $POD_NAMESPACE -l app.kubernetes.io/name=ingress-nginx -o jsonpath='{.items[0].metadata.name}')
  3. kubectl exec -it $POD_NAME -n $POD_NAMESPACE -- /nginx-ingress-controller --version

之后在https://github.com/kubernetes/ingress-nginx/releases下载对应版本的代码

2. 启动ingress pod:

进入ingress-nginx-nginx-0.22.0/deploy目录,执行kubectl create -f mandatory.yaml

3. 建立映射规则:

创建映射文件ingress-echoheaders.yaml,其中需要根据映射的服务修改name、serviceName、servicePort,服务可以通过kubectl get svc --all-namespaces查询

  1. apiVersion: extensions/v1beta1
  2. kind: Ingress
  3. metadata:
  4. name: ingress-echoheaders
  5. annotations:
  6. # use the shared ingress-nginx
  7. kubernetes.io/ingress.class: "nginx"
  8. spec:
  9. rules:
  10. - host: echoheaders.test.com
  11. http:
  12. paths:
  13. - path: /
  14. backend:
  15. serviceName: echoheaders
  16. servicePort: 80

执行kubectl create -f  ingress-echoheaders.yaml

执行kubectl get ingresses.extensions即可检查到映射关系

4. 创建ingress服务:

进入ingress-nginx-nginx-0.21.0/deploy/provider/baremetal,修改service-nodeport.yaml文件,加入externalIPs,并设置为需要指定的虚拟ip,注意此IP应与node处于同一网段,并且没有被占用

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: ingress-nginx
  5. namespace: ingress-nginx
  6. labels:
  7. app.kubernetes.io/name: ingress-nginx
  8. app.kubernetes.io/part-of: ingress-nginx
  9. spec:
  10. externalIPs:
  11. - 10.66.66.66
  12. type: NodePort
  13. ports:
  14. - name: http
  15. port: 80
  16. targetPort: 80
  17. protocol: TCP
  18. - name: https
  19. port: 443
  20. targetPort: 443
  21. protocol: TCP
  22. selector:
  23. app.kubernetes.io/name: ingress-nginx
  24. app.kubernetes.io/part-of: ingress-nginx

5. ingress搭建完成如下所示:

  1. [root@node33 ~]# kubectl get svc -n ingress-nginx
  2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  3. ingress-nginx NodePort 10.233.10.206 10.66.66.66 80:32361/TCP,443:30510/TCP 81m
  4. [root@node33 ~]# kubectl get ingresses.extensions
  5. NAME HOSTS ADDRESS PORTS AGE
  6. ingress-echoheaders echoheaders.test.com 10.66.66.66 80 3d3h

最后在同网段的任意一台服务器上,对/etc/hosts文件进行修改,增加

10.66.66.66                echoheaders.test.com 

执行curl  echoheaders.test.com即可看到效果

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号