摘要:創(chuàng)建按文檔操作在的中將固定一下。的內(nèi)容創(chuàng)建的和的。此時(shí),在本地機(jī)器綁定為兩個(gè)的,就可以在本地機(jī)器的瀏覽器中訪問網(wǎng)頁了。
創(chuàng)建ingress-nginx
按文檔操作
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml kubectl apply -f mandatory.yaml
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml ### 在service的spec中將nodePort固定一下。 kubectl apply -f service-nodeport.yaml
deploy-demo.yaml 的內(nèi)容
apiVersion: v1 kind: Service metadata: name: myapp namespace: default spec: selector: app: myapp release: canary ports: - name: http targetPort: 80 port: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy namespace: default spec: replicas: 3 selector: matchLabels: app: myapp release: canary template: metadata: labels: app: myapp release: canary spec: containers: - name: myapp image: ikubernetes/myapp:v2 ports: - name: http containerPort: 80
創(chuàng)建myapp的service和myapp-deploy的Deployment。
kubectl apply -f deploy-demo.yaml
結(jié)果
[root@master ingress-nginx]# kubectl get pods -n ingress-nginx NAME READY STATUS RESTARTS AGE default-http-backend-6586bc58b6-4f6qm 1/1 Running 0 30m nginx-ingress-controller-7675fd6cdb-njvdb 1/1 Running 0 30m [root@master ingress-nginx]# kubectl get pods NAME READY STATUS RESTARTS AGE myapp-deploy-67f6f6b4dc-67f7f 1/1 Running 0 7m myapp-deploy-67f6f6b4dc-hdbht 1/1 Running 0 7m myapp-deploy-67f6f6b4dc-ktfh6 1/1 Running 0 7m [root@master ingress-nginx]# kubectl get svc --all-namespaces NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default kubernetes ClusterIP 10.96.0.1443/TCP 8d default myapp ClusterIP 10.103.69.18 80/TCP 7m ingress-nginx default-http-backend ClusterIP 10.97.71.74 80/TCP 33m ingress-nginx ingress-nginx NodePort 10.110.227.164 80:30080/TCP,443:30443/TCP 31m kube-system kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP 8d
此時(shí),訪問nodeIP:nodePort已經(jīng)可以看到輸出,如圖
創(chuàng)建Ingress對(duì)象
ingress-myapp.yaml 的內(nèi)容如下
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-myapp namespace: default annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: myapp.test.com http: paths: - path: backend: serviceName: myapp servicePort: 80
創(chuàng)建Ingress
[root@master ingress-nginx]# kubectl apply -f ingress-myapp.yaml ingress.extensions/ingress-myapp created [root@master ingress-nginx]# kubectl get ingress NAME HOSTS ADDRESS PORTS AGE ingress-myapp myapp.test.com 80 4s
創(chuàng)建成功后,Ingress會(huì)將信息注入到ingress-controller里面去,即:會(huì)自動(dòng)轉(zhuǎn)換為nginx的配置文件
[root@master ingress-nginx]# kubectl get pods -n ingress-nginx NAME READY STATUS RESTARTS AGE default-http-backend-6586bc58b6-4f6qm 1/1 Running 0 1h nginx-ingress-controller-7675fd6cdb-njvdb 1/1 Running 0 1h [root@master ingress-nginx]# kubectl exec -n ingress-nginx -it nginx-ingress-controller-7675fd6cdb-njvdb -- /bin/sh $ cat nginx.conf|grep -C2 myapp ## end server _ ## start server myapp.test.com server { server_name myapp.test.com ; listen 80; -- set $namespace "default"; set $ingress_name "ingress-myapp"; set $service_name "myapp"; set $service_port "80"; set $location_path "/"; -- port_in_redirect off; set $proxy_upstream_name "default-myapp-80"; client_max_body_size "1m"; -- } ## end server myapp.test.com # default server, used for NGINX healthcheck and access to nginx stats $
可以看到pod內(nèi)的nginx.conf文件確實(shí)被注入了myapp相關(guān)的信息。
此時(shí),在本地機(jī)器綁定myapp.test.com為兩個(gè)node的ip,就可以在本地機(jī)器的瀏覽器中訪問 http://myapp.test.com:30080/ 網(wǎng)頁了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/32695.html
摘要:出來的是的歡迎頁面使網(wǎng)站支持協(xié)議制作證書和私鑰創(chuàng)建證書和私鑰這個(gè)證書不能直接被的使用,需要轉(zhuǎn)成后,才能被注入到中,被使用。訪問發(fā)現(xiàn)可以訪問。 將后端服務(wù)修改為tomcat 編輯 ingress-tomcat.yaml, 文件內(nèi)容如下: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress-tomca...
摘要:一個(gè)小服務(wù)器加本地一個(gè)閑置從機(jī)撐進(jìn)去這么多東西很顯然爆了,于是把拆出來,用上了公共的云服務(wù)容器鏡像服務(wù)。使用對(duì)集群外暴露服務(wù)這里使用的是在中部署有官方部署手冊(cè),基本按著走一遍就能部署上去了。 基于kubernetes+docker+jenkins的DevOps實(shí)踐 之前自己的項(xiàng)目開發(fā)就搭了個(gè)cicd的環(huán)境,那時(shí)候是在本就小的可憐的服務(wù)器上搭了一套 jenkins + docker...
摘要:一個(gè)小服務(wù)器加本地一個(gè)閑置從機(jī)撐進(jìn)去這么多東西很顯然爆了,于是把拆出來,用上了公共的云服務(wù)容器鏡像服務(wù)。使用對(duì)集群外暴露服務(wù)這里使用的是在中部署有官方部署手冊(cè),基本按著走一遍就能部署上去了。 基于kubernetes+docker+jenkins的DevOps實(shí)踐 之前自己的項(xiàng)目開發(fā)就搭了個(gè)cicd的環(huán)境,那時(shí)候是在本就小的可憐的服務(wù)器上搭了一套 jenkins + docker...
摘要:部署只是一種規(guī)則,控制器組件會(huì)將這一規(guī)則應(yīng)用于實(shí)際負(fù)載均衡器中。原因是功能僅允許將端口用于路由,負(fù)載均衡器和則可作為全局啟動(dòng)。負(fù)載均衡的限制提供了功能豐富的負(fù)載均衡器支持詳細(xì)介紹在此。截至目前,我們暫時(shí)無法使用工具將負(fù)載均衡器配置從轉(zhuǎn)換為。 如果您的應(yīng)用程序是面向大量用戶、會(huì)吸引大量流量,那么一個(gè)不變的目標(biāo)一定是在高效滿足用戶需求的同時(shí)、不讓用戶感知到任何類似于服務(wù)器繁忙!的情況。這一...
閱讀 1026·2021-11-22 13:53
閱讀 1579·2021-11-17 09:33
閱讀 2373·2021-10-14 09:43
閱讀 2836·2021-09-01 11:41
閱讀 2263·2021-09-01 10:44
閱讀 2905·2021-08-31 09:39
閱讀 1443·2019-08-30 15:44
閱讀 1853·2019-08-30 13:02