摘要:出來的是的歡迎頁面使網站支持協議制作證書和私鑰創建證書和私鑰這個證書不能直接被的使用,需要轉成后,才能被注入到中,被使用。訪問發現可以訪問。
將后端服務修改為tomcat
編輯 ingress-tomcat.yaml, 文件內容如下:
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-tomcat namespace: default annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: tomcat.test.com http: paths: - path: backend: serviceName: tomcat servicePort: 8080
tomcat-deploy.yaml 內容如下:
apiVersion: v1 kind: Service metadata: name: tomcat namespace: default spec: selector: app: tomcat release: canary ports: - name: http targetPort: 8080 port: 8080 - name: ajp targetPort: 8009 port: 8009 --- apiVersion: apps/v1 kind: Deployment metadata: name: tomcat-deploy namespace: default spec: replicas: 3 selector: matchLabels: app: tomcat release: canary template: metadata: labels: app: tomcat release: canary spec: containers: - name: tomcat image: tomcat:8.5.32-jre8-alpine ports: - name: http containerPort: 8080 - name: ajp containerPort: 8009創建ingress
按如下命令創建ingress-tomcat
[root@master ingress-nginx]# kubectl apply -f tomcat-deploy.yaml service/tomcat created deployment.apps/tomcat-deploy created [root@master ingress-nginx]# kubectl apply -f ingress-tomcat.yaml ingress.extensions/ingress-tomcat created [root@master ingress-nginx]# kubectl get ingress NAME HOSTS ADDRESS PORTS AGE ingress-tomcat tomcat.test.com 80 6s
此時,修改本地hosts解析后,就可以訪問tomcat.test.com:30080地址了。出來的是tomcat的歡迎頁面
使網站支持https協議 制作證書和私鑰創建證書和私鑰
[root@master ingress-nginx]# openssl genrsa -out tls.key 2048 Generating RSA private key, 2048 bit long modulus ......................................+++ ......+++ e is 65537 (0x10001) [root@master ingress-nginx]# openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=Hangzhou/L=Hangzhou/O=kubernetes/CN=tomcat.test.com [root@master ingress-nginx]# ls tls* tls.crt tls.key
這個證書不能直接被ingress的nginx使用,需要轉成secret后,才能被注入到nginx中,被ingress使用。
創建secret[root@master ingress-nginx]# kubectl create secret tls tomcat-ingress-secret --cert tls.crt --key=tls.key secret/tomcat-ingress-secret created [root@master ingress-nginx]# kubectl get secret NAME TYPE DATA AGE default-token-qcfxf kubernetes.io/service-account-token 3 8d tomcat-ingress-secret kubernetes.io/tls 2 7s [root@master ingress-nginx]# kubectl describe secret tomcat-ingress-secret Name: tomcat-ingress-secret Namespace: default Labels:Annotations: Type: kubernetes.io/tls Data ==== tls.crt: 1306 bytes tls.key: 1679 bytes
編輯 ingress-tomcat-tls.yaml 文件,內容如下:
在yaml文件中添加了secret的相關信息:
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-tomcat-tls namespace: default annotations: kubernetes.io/ingress.class: "nginx" spec: tls: - hosts: - tomcat.test.com secretName: tomcat-ingress-secret rules: - host: tomcat.test.com http: paths: - path: backend: serviceName: tomcat servicePort: 8080創建ingress
[root@master ingress-nginx]# kubectl apply -f ingress-tomcat-tls.yaml ingress.extensions/ingress-tomcat-tls created [root@master ingress-nginx]# kubectl get ingress NAME HOSTS ADDRESS PORTS AGE ingress-tomcat tomcat.test.com 80 17m ingress-tomcat-tls tomcat.test.com 80, 443 8s
然后去查看ingress-controller上的nginx配置文件
[root@master ingress-nginx]# kubectl get pods -n ingress-nginx NAME READY STATUS RESTARTS AGE default-http-backend-6586bc58b6-4f6qm 1/1 Running 1 8h nginx-ingress-controller-7675fd6cdb-njvdb 1/1 Running 1 8h [root@master ingress-nginx]# kubectl exec -n ingress-nginx nginx-ingress-controller-7675fd6cdb-njvdb -it -- /bin/sh $ cat nginx.conf|grep secret ssl_certificate /etc/ingress-controller/ssl/default-tomcat-ingress-secret.pem; ssl_certificate_key /etc/ingress-controller/ssl/default-tomcat-ingress-secret.pem; ssl_trusted_certificate /etc/ingress-controller/ssl/default-tomcat-ingress-secret-full-chain.pem; $
發現,secret的相關信息,已經被注入到了ingress-controller的nginx配置之中。
訪問https://tomcat.test.com:80443 發現可以訪問。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32694.html
摘要:創建按文檔操作在的中將固定一下。的內容創建的和的。此時,在本地機器綁定為兩個的,就可以在本地機器的瀏覽器中訪問網頁了。 創建ingress-nginx 按文檔操作 wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml kubectl apply -f ma...
摘要:一個小服務器加本地一個閑置從機撐進去這么多東西很顯然爆了,于是把拆出來,用上了公共的云服務容器鏡像服務。使用對集群外暴露服務這里使用的是在中部署有官方部署手冊,基本按著走一遍就能部署上去了。 基于kubernetes+docker+jenkins的DevOps實踐 之前自己的項目開發就搭了個cicd的環境,那時候是在本就小的可憐的服務器上搭了一套 jenkins + docker...
摘要:一個小服務器加本地一個閑置從機撐進去這么多東西很顯然爆了,于是把拆出來,用上了公共的云服務容器鏡像服務。使用對集群外暴露服務這里使用的是在中部署有官方部署手冊,基本按著走一遍就能部署上去了。 基于kubernetes+docker+jenkins的DevOps實踐 之前自己的項目開發就搭了個cicd的環境,那時候是在本就小的可憐的服務器上搭了一套 jenkins + docker...
摘要:部署只是一種規則,控制器組件會將這一規則應用于實際負載均衡器中。原因是功能僅允許將端口用于路由,負載均衡器和則可作為全局啟動。負載均衡的限制提供了功能豐富的負載均衡器支持詳細介紹在此。截至目前,我們暫時無法使用工具將負載均衡器配置從轉換為。 如果您的應用程序是面向大量用戶、會吸引大量流量,那么一個不變的目標一定是在高效滿足用戶需求的同時、不讓用戶感知到任何類似于服務器繁忙!的情況。這一...
閱讀 1583·2021-09-02 15:41
閱讀 993·2021-09-02 15:11
閱讀 1274·2021-07-28 00:15
閱讀 2297·2019-08-30 15:55
閱讀 1138·2019-08-30 15:54
閱讀 1687·2019-08-30 15:54
閱讀 2967·2019-08-30 14:02
閱讀 2518·2019-08-29 16:57