国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress

這篇具有很好參考價(jià)值的文章主要介紹了飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

ingress

在 Kubernetes 中,Ingress 是一種 API 對(duì)象,它管理外部訪問集群內(nèi)部服務(wù)的規(guī)則。你可以將其視為一個(gè)入口,它可以將來自集群外部的 HTTP 和 HTTPS 路由到集群內(nèi)部的服務(wù)。
實(shí)際上,Ingress相當(dāng)于一個(gè)7層的負(fù)載均衡器,是kubernetes對(duì)反向代理的一個(gè)抽象,它的工作原理類似于Nginx,可以理解成在Ingress里建立諸多映射規(guī)則,Ingress Controller通過監(jiān)聽這些配置規(guī)則并轉(zhuǎn)化成Nginx的反向代理配置 , 然后對(duì)外部提供服務(wù)。在這里有兩個(gè)核心概念:

用戶編寫Ingress規(guī)則,說明哪個(gè)域名對(duì)應(yīng)kubernetes集群中的哪個(gè)Service
Ingress控制器動(dòng)態(tài)感知Ingress服務(wù)規(guī)則的變化,然后生成一段對(duì)應(yīng)的Nginx反向代理配置
Ingress控制器會(huì)將生成的Nginx配置寫入到一個(gè)運(yùn)行著的Nginx服務(wù)中,并動(dòng)態(tài)更新
到此為止,其實(shí)真正在工作的就是一個(gè)Nginx了,內(nèi)部配置了用戶定義的請(qǐng)求轉(zhuǎn)發(fā)規(guī)則

概念理解
飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress,kubernetes,容器,云原生

飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress,kubernetes,容器,云原生

飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress,kubernetes,容器,云原生

環(huán)境準(zhǔn)備
# 創(chuàng)建文件夾
[root@k8s-master01 ~]# mkdir ingress-controller
[root@k8s-master01 ~]# cd ingress-controller/

# 獲取ingress-nginx,本次案例使用的是0.30版本
[root@k8s-master01 ingress-controller]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/mandatory.yaml
[root@k8s-master01 ingress-controller]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.30.0/deploy/static/provider/baremetal/service-nodeport.yaml

# 修改mandatory.yaml文件中的倉庫
# 修改quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0
# 為quay-mirror.qiniu.com/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0
# 創(chuàng)建ingress-nginx
[root@k8s-master01 ingress-controller]# kubectl apply -f ./

# 查看ingress-nginx
[root@k8s-master01 ingress-controller]# kubectl get pod -n ingress-nginx
NAME                                           READY   STATUS    RESTARTS   AGE
pod/nginx-ingress-controller-fbf967dd5-4qpbp   1/1     Running   0          12h

# 查看service
[root@k8s-master01 ingress-controller]# kubectl get svc -n ingress-nginx
NAME            TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx   NodePort   10.98.75.163   <none>        80:32240/TCP,443:31335/TCP   11h

準(zhǔn)備service和pod

tomcat-nginx.yaml

 

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: dev
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-pod
  template:
    metadata:
      labels:
        app: nginx-pod
    spec:
      containers:
      - name: nginx
        image: nginx:1.17.1
        ports:
        - containerPort: 80

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-deployment
  namespace: dev
spec:
  replicas: 3
  selector:
    matchLabels:
      app: tomcat-pod
  template:
    metadata:
      labels:
        app: tomcat-pod
    spec:
      containers:
      - name: tomcat
        image: tomcat:8.5-jre10-slim
        ports:
        - containerPort: 8080

---

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  namespace: dev
spec:
  selector:
    app: nginx-pod
  clusterIP: None
  type: ClusterIP
  ports:
  - port: 80
    targetPort: 80

---

apiVersion: v1
kind: Service
metadata:
  name: tomcat-service
  namespace: dev
spec:
  selector:
    app: tomcat-pod
  clusterIP: None
  type: ClusterIP
  ports:
  - port: 8080
    targetPort: 8080

# 創(chuàng)建
[root@k8s-master01 ~]# kubectl create -f tomcat-nginx.yaml

# 查看
[root@k8s-master01 ~]# kubectl get svc -n dev
NAME             TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)    AGE
nginx-service    ClusterIP   None         <none>        80/TCP     48s
tomcat-service   ClusterIP   None         <none>        8080/TCP   48s

創(chuàng)建ingress-http.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-http
  namespace: dev
spec:
  rules:
  - host: nginx.itheima.com
    http:
      paths:
      - path: /
        backend:
          serviceName: nginx-service
          servicePort: 80
  - host: tomcat.itheima.com
    http:
      paths:
      - path: /
        backend:
          serviceName: tomcat-service
          servicePort: 8080

# 創(chuàng)建
[root@k8s-master01 ~]# kubectl create -f ingress-http.yaml
ingress.extensions/ingress-http created

# 查看
[root@k8s-master01 ~]# kubectl get ing ingress-http -n dev
NAME           HOSTS                                  ADDRESS   PORTS   AGE
ingress-http   nginx.itheima.com,tomcat.itheima.com             80      22s

# 查看詳情
[root@k8s-master01 ~]# kubectl describe ing ingress-http  -n dev
...
Rules:
Host                Path  Backends
----                ----  --------
nginx.itheima.com   / nginx-service:80 (10.244.1.96:80,10.244.1.97:80,10.244.2.112:80)
tomcat.itheima.com  / tomcat-service:8080(10.244.1.94:8080,10.244.1.95:8080,10.244.2.111:8080)
...

# 接下來,在本地電腦上配置host文件,解析上面的兩個(gè)域名到192.168.109.100(master)上
# 然后,就可以分別訪問tomcat.itheima.com:32240  和  nginx.itheima.com:32240 查看效果了

驗(yàn)證效果

飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress,kubernetes,容器,云原生

飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress,kubernetes,容器,云原生

https 代理

創(chuàng)建證書

# 生成證書
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/C=CN/ST=BJ/L=BJ/O=nginx/CN=itheima.com"

# 創(chuàng)建密鑰
kubectl create secret tls tls-secret --key tls.key --cert tls.crt


創(chuàng)建ingress-https.yaml


apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-https
  namespace: dev
spec:
  tls:
  - hosts:
    - nginx.itheima.com
    - tomcat.itheima.com
    secretName: tls-secret # 指定秘鑰
  rules:
  - host: nginx.itheima.com
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: nginx-service
            port:
              number: 80
  - host: tomcat.itheima.com
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: tomcat-service
            port:
              number: 8080

# 創(chuàng)建
[root@k8s-master01 ~]# kubectl create -f ingress-https.yaml
ingress.extensions/ingress-https created

# 查看
[root@k8s-master01 ~]# kubectl get ing ingress-https -n dev
NAME            HOSTS                                  ADDRESS         PORTS     AGE
ingress-https   nginx.itheima.com,tomcat.itheima.com   10.104.184.38   80, 443   2m42s

# 查看詳情
[root@k8s-master01 ~]# kubectl describe ing ingress-https -n dev
...
TLS:
  tls-secret terminates nginx.itheima.com,tomcat.itheima.com
Rules:
Host              Path Backends
----              ---- --------
nginx.itheima.com  /  nginx-service:80 (10.244.1.97:80,10.244.1.98:80,10.244.2.119:80)
tomcat.itheima.com /  tomcat-service:8080(10.244.1.99:8080,10.244.2.117:8080,10.244.2.120:8080)
...

# 下面可以通過瀏覽器訪問https://nginx.itheima.com:31335 和 https://tomcat.itheima.com:31335來查看了

效果

查看映射到公網(wǎng)端口

[root@kubeadm-master1 ingress]# kubectl get svc -n ingress-nginx
NAME            TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx   NodePort   10.200.234.128   <none>        80:31929/TCP,443:32744/TCP   69m

飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress,kubernetes,容器,云原生

參考文檔: https://znunwm.top/archives/121212#7.4-ingress%E4%BB%8B%E7%BB%8D文章來源地址http://www.zghlxwxcb.cn/news/detail-836546.html

到了這里,關(guān)于飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 飛天使-k8s知識(shí)點(diǎn)19-kubernetes實(shí)操4-資源調(diào)度 標(biāo)簽和選擇器:Label與Selector的使用-版本回退

    飛天使-k8s知識(shí)點(diǎn)19-kubernetes實(shí)操4-資源調(diào)度 標(biāo)簽和選擇器:Label與Selector的使用-版本回退

    添加label 資源調(diào)度 Deployment:創(chuàng)建與配置文件解析 rs pod deploy 的關(guān)聯(lián)信息展示 Deployment:滾動(dòng)更新 Deployment:回滾 回退版本實(shí)際操作

    2024年02月20日
    瀏覽(28)
  • 飛天使-k8s知識(shí)點(diǎn)12-kubernetes資源對(duì)象5-Volume與ConfigMap等

    為什么需要volume ConfigMap Volume nfs掛載volume 持久卷的痛點(diǎn) 參考文檔: 作者:又拍云 鏈接:https://juejin.cn/post/7186925237592653884 來源:稀土掘金

    2024年01月18日
    瀏覽(21)
  • K8S知識(shí)點(diǎn)(三)

    K8S知識(shí)點(diǎn)(三)

    Centos的版本是有要求的必須是7.5或以上,否則安裝出來的集群是有問題的Node節(jié)點(diǎn)可能加入不到集群中來? ? ? ? 詳細(xì)步驟? 1.同時(shí)連接三臺(tái)服務(wù)器:查看一下版本 是否正確 2.主機(jī)名解析,方便節(jié)點(diǎn)之間的調(diào)用,這里是測(cè)試環(huán)境中的用法,在企業(yè)中真實(shí)環(huán)境推薦使用內(nèi)部DNS服務(wù)

    2024年02月05日
    瀏覽(26)
  • K8S知識(shí)點(diǎn)(二)

    K8S知識(shí)點(diǎn)(二)

    K8S是通過控制pod來控制容器進(jìn)而控制程序的? service是溝通Pod和外鍵的橋梁,可以實(shí)現(xiàn)負(fù)載均衡的效果,加權(quán)負(fù)載的效果 使用虛擬機(jī),來虛擬三臺(tái)服務(wù)器? ? 點(diǎn)擊創(chuàng)建新的虛擬機(jī):自定義,下一步 下一步? 下一步: 稍后安裝操作系統(tǒng),下一步 修改名稱:存儲(chǔ)地址 cpu選擇2:

    2024年02月05日
    瀏覽(23)
  • K8S知識(shí)點(diǎn)(四)

    K8S知識(shí)點(diǎn)(四)

    ? 查看所需鏡像? 定義下載鏡像? 循環(huán)下載鏡像:? 下載完成之后:查看一下鏡像,名字也已經(jīng)改成了k8s的名字 ? ? 集群初始化只在master節(jié)點(diǎn)上運(yùn)行, 出現(xiàn)sucessfully表示成功,提示要運(yùn)行幾條命令: 在集群中加入一些工作節(jié)點(diǎn),可以查看一下現(xiàn)在有哪些節(jié)點(diǎn): 在node節(jié)點(diǎn)上執(zhí)

    2024年02月05日
    瀏覽(25)
  • 輕松掌握k8s(使用docker)安裝知識(shí)點(diǎn)

    輕松掌握k8s(使用docker)安裝知識(shí)點(diǎn)

    kubernetes具有以下特性: 服務(wù)發(fā)現(xiàn)和負(fù)載均衡 Kubernetes 可以使用 DNS 名稱或自己的 IP 地址公開容器,如果進(jìn)入容器的流量很大, Kubernetes 可以負(fù)載均衡并分配網(wǎng)絡(luò)流量,從而使部署穩(wěn)定。 存儲(chǔ)編排 Kubernetes 允許你自動(dòng)掛載你選擇的存儲(chǔ)系統(tǒng),例如本地存儲(chǔ)、公共云提供商等。

    2023年04月22日
    瀏覽(27)
  • 輕松掌握K8S目錄持久卷PV/PVC的kubectl操作知識(shí)點(diǎn)04

    輕松掌握K8S目錄持久卷PV/PVC的kubectl操作知識(shí)點(diǎn)04

    1、介紹 在docker中可以將容器中的目錄掛載出來,在k8s中pod可以部署在不同節(jié)點(diǎn),假如該節(jié)點(diǎn)的機(jī)器宕機(jī)了,k8s可能就會(huì)將此Pod轉(zhuǎn)移到其他機(jī)器,就不是原先的機(jī)器了。k8s有自己的一套掛載方案,如下圖所示, 原理為將所有節(jié)點(diǎn)的掛載的目錄統(tǒng)一抽象管理為叫做 存儲(chǔ)層的概念

    2024年02月12日
    瀏覽(25)
  • 輕松掌握K8S使用kubectl操作配置文件掛載ConfigMap和密鑰Secret知識(shí)點(diǎn)05

    輕松掌握K8S使用kubectl操作配置文件掛載ConfigMap和密鑰Secret知識(shí)點(diǎn)05

    1、掛載應(yīng)用配置文件配置集ConfigMap 當(dāng)有許多應(yīng)用如redis、mysql,希望將它的配置文件掛載出去,以便隨時(shí)修改,可以用ConfigMap配置集 具體用法查看使用命令行操作里的 3、ConfigMap配置集實(shí)戰(zhàn) 2、掛載應(yīng)用配置文件的敏感信息Secret Secret 對(duì)象類型用來保存敏感信息,例如使用ya

    2024年02月16日
    瀏覽(26)
  • 飛天使-docker知識(shí)點(diǎn)4-harbor

    飛天使-docker知識(shí)點(diǎn)4-harbor

    Harbor 安裝完成harbor 官方建議方式之后查看 images 配置docker 使用harbor 倉庫上傳下載鏡像 docker 鏡像結(jié)合harbor 運(yùn)行 參考文檔: https://www.cnblogs.com/quqibinggan/p/16880549.html 馬哥

    2024年02月04日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包