欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

k8s中ingress的安裝方法

這篇文章主要講解了“k8s中ingress的安裝方法”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“k8s中ingress的安裝方法”吧!

站在用戶的角度思考問題,與客戶深入溝通,找到蘭州網(wǎng)站設(shè)計(jì)與蘭州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋蘭州地區(qū)。

在Kubernetes中,服務(wù)和Pod的IP地址僅可以在集群網(wǎng)絡(luò)內(nèi)部使用,對于集群外的應(yīng)用是不可見的。為了使外部的應(yīng)用能夠訪問集群內(nèi)的服務(wù),在Kubernetes 目前 提供了以下幾種方案:
1.NodePort

    NodePort 服務(wù)是暴露服務(wù)的最原始方式。 顧名思義,NodePort 會(huì)在所有節(jié)點(diǎn)(VM)上打開一個(gè)特定的端口,并且發(fā)送到此端口的任何流量都將轉(zhuǎn)發(fā)到該服務(wù)。 這種方式主要有以下缺點(diǎn):

  • 每個(gè)端口只能有一個(gè)服務(wù)

  • 默認(rèn)您只能使用端口30000-32767

基于以上原因,我不建議在生產(chǎn)環(huán)境上用這種方式暴露服務(wù)。如果你運(yùn)行的服務(wù)不要求一直可用,或者對成本比較敏感,你可以使用這種方法。這樣的應(yīng)用的最佳例子是 demo 應(yīng)用,或者某些臨時(shí)應(yīng)用。

2.LoadBalancer

LoadBalancer 服務(wù)是暴露服務(wù)到 internet 的標(biāo)準(zhǔn)方式。這種方式會(huì)啟動(dòng)一個(gè) Network Load Balancer,它將給你一個(gè)單獨(dú)的 IP 地址,轉(zhuǎn)發(fā)所有流量到你的服務(wù)。

如果你想要直接暴露服務(wù),這就是默認(rèn)方式。所有通往你指定的端口的流量都會(huì)被轉(zhuǎn)發(fā)到對應(yīng)的服務(wù)。它沒有過濾條件,沒有路由等。這意味著你幾乎可以發(fā)送任何種類的流量到該服務(wù),像 HTTP,TCP,UDP,Websocket,gRPC 或其它任意種類。

這個(gè)方式的最大缺點(diǎn)是每一個(gè)用 LoadBalancer 暴露的服務(wù)都會(huì)有它自己的 IP 地址,每個(gè)用到的 LoadBalancer 都需要付費(fèi),這將是非常昂貴的。

3.Ingress

有別于以上所有例子,Ingress 事實(shí)上不是一種服務(wù)類型。相反,它處于多個(gè)服務(wù)的前端,扮演著“智能路由”或者集群入口的角色。

你可以用 Ingress 來做許多不同的事情,各種不同類型的 Ingress 控制器也有不同的能力。

默認(rèn) ingress 控制器是啟動(dòng)一個(gè) HTTP(S) Load Balancer[3]。它允許你基于路徑或者子域名來路由流量到后端服務(wù)。例如,你可以將任何發(fā)往域名 foo.yourdomain.com 的流量轉(zhuǎn)到 foo 服務(wù),將路徑 yourdomain.com/bar/path 的流量轉(zhuǎn)到 bar 服務(wù)。

基于以上情況,建議各位還是采用Ingress。以下是我基于1.20版本的安裝實(shí)操

步驟1:

下載mandatory.yaml和service-nodeport.yaml,mandatory.yaml主要是安裝nginx-ingress-controller( 具體實(shí)現(xiàn)反向代理及負(fù)載均衡的程序,對ingress定義的規(guī)則進(jìn)行解析,根據(jù)配置的規(guī)則來實(shí)現(xiàn)請求轉(zhuǎn)發(fā) )。service-nodeport.yaml主要是負(fù)責(zé)對外提供服務(wù),如果不需要可以不下載(service-nodeport其實(shí)就是個(gè)簡單的service服務(wù)需要對外服務(wù)需要開通個(gè)nodePort即可讓外部訪問k8s內(nèi)部服務(wù),具體我們后面再講)

下載mandatory.yaml,下載地址是:https://github.com/kubernetes/ingress-nginx/tree/nginx-0.30.0/deploy/static

k8s中ingress的安裝方法

下載完成后我們需要對mandatory.yaml進(jìn)行簡單的修改

1、將文件中的rbac.authorization.k8s.io/v1beta1 替換成 rbac.authorization.k8s.io/v1 原因是1.20版本已經(jīng)v1beta1版本已經(jīng)過期,所以最好是改成v1不然會(huì)告警或報(bào)錯(cuò)。

2、設(shè)置k8s使用主機(jī)網(wǎng)絡(luò)(可選)

這里需要注意的是如果是自己服務(wù)器(非啊里云,騰訊云等云服務(wù)器,配置成 Network 之后是可以不需要?jiǎng)?chuàng)建一個(gè)nodePort的svc, 而是直接在每個(gè)節(jié)點(diǎn)都創(chuàng)建一個(gè)ingress-controller的容器,而且將該容器的網(wǎng)絡(luò)模式設(shè)為hostNetwork。也就是說每個(gè)節(jié)點(diǎn)物理機(jī)的80和443端口將會(huì)被ingress-controller中的nginx容器占用。當(dāng)流量通過80/443端口進(jìn)入時(shí),將直接進(jìn)入到nginx中。而后nginx根據(jù)ingress規(guī)則再將流量轉(zhuǎn)發(fā)到對應(yīng)的web應(yīng)用容器中。 上面的service-nodeport.yaml文件是可以不下載的),我這邊測試,所以也設(shè)置成netWork模式

k8s中ingress的安裝方法

3、安裝

    運(yùn)行kubectl apply -f mandatory.yaml

k8s中ingress的安裝方法

出現(xiàn)以下界面表示安裝成功,如果失敗可以kubectl delete -f mandatory.yaml清空已安裝的pod和configmap,然后根據(jù)實(shí)際報(bào)錯(cuò)修改mandatory.yaml再重試

大家留意這張圖,如果hostNetwork設(shè)置為true紅色框框部分顯示的就是你自己的主機(jī)IP(真實(shí)IP),如果不設(shè)置則會(huì)顯示虛擬IP(10.***這種)我因?yàn)槭前±镌品?wù)器所以這里的IP顯示的是啊里云的內(nèi)網(wǎng)IP 172.23.78.148。

k8s中ingress的安裝方法

下載service-nodeport.yaml 地址是:https://github.com/kubernetes/ingress-nginx/tree/nginx-0.30.0/deploy/static/provider/baremetal

k8s中ingress的安裝方法

修改service-nodeport.yaml,因?yàn)槲覀冃枰獠窟M(jìn)行訪問以必須要開通個(gè)nodePort紅色框框部分就是我們對外的端口,端口我隨便弄的。

k8s中ingress的安裝方法

安裝service

kubectl apply -f service-nodeport.yaml

k8s中ingress的安裝方法

看到以下信息表示運(yùn)行成功,這里可以看到我們訪問30080映射的是內(nèi)部80端口,30443映射的是443端口

我們在瀏覽器上輸入http://{服務(wù)器外網(wǎng)IP}:30080/會(huì)顯示以下界面

k8s中ingress的安裝方法

這表示ingress已經(jīng)成功安裝。

為了看演示效果,我們可以下個(gè)tomcat鏡像來測試下

docker search tomcat

k8s中ingress的安裝方法

我們挑選個(gè)tomcat安裝一下

docker pull tomcat

k8s中ingress的安裝方法

編寫tomcat-demo腳本

cat >>~/tomcat-demo.yaml <<EOF
apiVersion: v1
kind: Service
metadata:
  name: tomcat
  namespace: default
spec:
  selector:
    app: tomcat
    release: canary
  ports:
  - name: http
    port: 8080
    targetPort: 8080
  - name: ajp
    port: 8009
    targetPort: 8009
 
---
apiVersion: apps/v1
kind: Deployment
metadata: 
  name: tomcat-deploy
spec:
  replicas: 1
  selector: 
    matchLabels:
      app: tomcat
      release: canary
  template:
    metadata:
      labels:
        app: tomcat
        release: canary
    spec:
      containers:
      - name: tomcat
        image: tomcat:latest
        ports:
        - name: httpd
          containerPort: 8080
        - name: ajp
          containerPort: 8009
EOF

運(yùn)行腳本

kubectl apply -f tomcat-demo.yaml

看到以下界面表示tomcat服務(wù)成功啟動(dòng)

k8s中ingress的安裝方法

然后我們創(chuàng)建個(gè)ingress測試

cat >>~/tomcat-ingress.yaml <<EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-tomcat
  namespace: default
  annotations: 
    kubernets.io/ingress.class: "nginx"
spec:
  rules:
  - http:
      paths:
      - path: /t1/
        backend:
          serviceName: tomcat
          servicePort: 8080
EOF

運(yùn)行腳本

kubectl apply -f tomcat-ingress.yaml

運(yùn)行kubectl get ingress 看到以下界面表示ingress資源創(chuàng)建成功

k8s中ingress的安裝方法

這時(shí)我們在瀏覽器上輸入http://{服務(wù)器外網(wǎng)IP}:30080/t1/會(huì)顯示以下界面

k8s中ingress的安裝方法

感謝各位的閱讀,以上就是“k8s中ingress的安裝方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對k8s中ingress的安裝方法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

當(dāng)前名稱:k8s中ingress的安裝方法
標(biāo)題路徑:http://chinadenli.net/article30/jgjgpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)網(wǎng)站設(shè)計(jì)網(wǎng)站內(nèi)鏈企業(yè)建站關(guān)鍵詞優(yōu)化虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作