程序笔记   发布时间:2022-07-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ingress-nginx 部署使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

安装部署 nginx-ingress-controller

 

输入下面网址:选择版本

https://github.com/kubernetes/ingress-nginx/blob/nginx-0.30.0/deploy/static/mandatory.yaml

ingress-nginx   部署使用

 

 

 

ingress-nginx   部署使用

 

 

vim mandatory.yaml  #新建一个yaml文件直接复制粘贴  ps: vim 编辑器 需要 set paste  防止格式错误

ingress-nginx   部署使用

 

 

 

 

 

 

官网提示(0.30版本):!!! tip If you are using a Kubernetes version previous to 1.14, you need to change kubernetes.io/os to beta.kubernetes.io/os at line 217 of mandatory.yaml, see Labels details. #如果你的k8s集群版本低于1.14,需要

把第217 行 的 kubernetes.io/os 替换成 beta.kubernetes.io/os

kubectl   version    查看集群版本Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08:12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:00:57Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

 

214       terminationGracePeriodSeconds: 300215       serviceAccountName: nginx-ingress-serviceaccount216       nodeSelector:217         beta.kubernetes.io/os: linux218       containers:219         - name: nginx-ingress-controller:set nu                                     

修改完创建资源

[root@localhost ~/test/ingress]# kubectl apply -f mandatory.yaml namespace/ingress-nginx createdconfigmap/nginx-configuration createdconfigmap/tcp-services createdconfigmap/udp-services createdserviceaccount/nginx-ingress-serviceaccount createdclusterrole.rbac.authorization.k8s.io/nginx-ingress-clusterrole createdrole.rbac.authorization.k8s.io/nginx-ingress-role createdrolebinding.rbac.authorization.k8s.io/nginx-ingress-role-nisa-binding createdclusterrolebinding.rbac.authorization.k8s.io/nginx-ingress-clusterrole-nisa-binding createddeployment.apps/nginx-ingress-controller createdlimitrange/ingress-nginx created查看控制器Pod  已经正常运行[root@localhost ~/test/ingress]# kubectl get pods -n ingress-nginxNAME                                       READY   STATUS    RESTARTS   AGEnginx-ingress-controller-97547988b-jh9q4   1/1     Running   0          3m32s

 

创建个service 集群外访问

[root@localhost ~/test/ingress]# vim service-nodeport.yaml apiVersion: v1kind: Servicemetadata:  name: ingress-nginx  namespace: ingress-nginxspec:  type: NodePort  ports:  - name: http    port: 80    targetPort: 80    protocol: TCP    nodePort: 30080  - name: https    port: 443    targetPort: 443    protocol: TCP    nodePort: 30443  selector:    app.kubernetes.io/name: ingress-nginx    app.kubernetes.io/part-of: ingress-nginxkubectl apply  -f  service-nodeport.yaml    

 

 

 

创建一组应用pod和对应的service

 

[root@localhost ~/test/ingress/tomcat]# vim deploy-tomcat.yaml apiVersion: v1kind: Servicemetadata:  name: tomcat  namespace: defaultspec:  selector:    app: tomcat    release: canary  ports:  - name: http    port: 80    targetPort: 8080 # - name: ajp  #  port: 8009   # targetPort: 8009---apiVersion: apps/v1kind: Deploymentmetadata:  name: tomcat-deployspec:  replicas: 3  selector:    matchLabels:      app: tomcatrelease: canary  template:    metadata:      labels:        app: tomcat        release: canary    spec:      containers:      - name: tomcat        image: tomcat:7-alpine        ports:        - name: httpd          containerPort: 8080    #    - name: ajp     #     containerPort: 8009                                  kubectl apply -f deploy-tomcat.yaml        

 

 

配置 ingress 规则

[root@localhost ~/test/ingress/tomcat]# vim tomcat.yaml apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: ingress-tomcat  namespace: default  annotations:    kubernets.io/ingress.class: "nginx"spec:  rules:  - host: tomcat.luoluo.com    http:      paths:      - path:        backend:          serviceName: tomcat          servicePort: 8080                    kubectl apply -f tomcat.yaml 

 

 

浏览器输入 tomcat.luoluo.com:30080 验证 #测试需要修改宿主机 C:WindowsSystem32driversetc 下 HOSTS文件 映射

 

 

 

ingress-nginx   部署使用

 

 

 

 

对tomcat服务添加httpds服务

 

创建私有证书及secret

openssl genrsa -out tls.key 2048[root@localhost ~/test/ingress/tomcat]# openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=tomcat.luoluo.com  #注意域名要和服务的域名一致 kubectl create secret tls tomcat-ingress-secret --cert=tls.crt --key=tls.key #创建secret

将证书应用至tomcat服务中

 

[root@localhost ~/test/ingress/tomcat]# vim ingress-tomcat-tls.yaml apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: ingress-tomcat-tls  namespace: default  annotations:    kubernets.io/ingress.class: "nginx"spec:  tls:  - hosts:    - tomcat.luoluo.com        #与secret证书的域名需要保持一致    secretName: tomcat-ingress-secret   #secret证书的名称  rules:  - host: tomcat.luoluo.com    https:      paths:      - path:        backend:          serviceName: tomcat          servicePort: 8080~                                                                                                                                     ~                                                                                              kubectl apply -f ingress-tomcat-tls.yaml    ~                                                    

 

ingress-nginx   部署使用

 

大佬总结

以上是大佬教程为你收集整理的ingress-nginx 部署使用全部内容,希望文章能够帮你解决ingress-nginx 部署使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: