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

Kubernetes(k8s)使用ingress發(fā)布服務(wù)

這篇具有很好參考價(jià)值的文章主要介紹了Kubernetes(k8s)使用ingress發(fā)布服務(wù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄
  • 一.系統(tǒng)環(huán)境
  • 二.前言
  • 三.Kubernetes ingress簡介
  • 四.Ingress vs NodePort vs LoadBalancer
  • 五.安裝部署Nginx Ingress Controller控制器
  • 六.使用Ingress來發(fā)布Kubernetes服務(wù)
    • 6.1 創(chuàng)建3個(gè)pod
    • 6.2 配置ingress規(guī)則發(fā)布服務(wù)
  • 七.總結(jié)

一.系統(tǒng)環(huán)境

本文主要基于Kubernetes1.21.9和Linux操作系統(tǒng)CentOS7.4。

服務(wù)器版本 Nginx Ingress Controller版本 docker軟件版本 Kubernetes(k8s)集群版本 CPU架構(gòu)
CentOS Linux release 7.4.1708 (Core) v1.0.0 Docker version 20.10.12 v1.21.9 x86_64

Kubernetes集群架構(gòu):k8scloude1作為master節(jié)點(diǎn),k8scloude2,k8scloude3作為worker節(jié)點(diǎn)。

服務(wù)器 操作系統(tǒng)版本 CPU架構(gòu) 進(jìn)程 功能描述
k8scloude1/192.168.110.130 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kube-apiserver,etcd,kube-scheduler,kube-controller-manager,kubelet,kube-proxy,coredns,calico k8s master節(jié)點(diǎn)
k8scloude2/192.168.110.129 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kubelet,kube-proxy,calico k8s worker節(jié)點(diǎn)
k8scloude3/192.168.110.128 CentOS Linux release 7.4.1708 (Core) x86_64 docker,kubelet,kube-proxy,calico k8s worker節(jié)點(diǎn)

二.前言

隨著云計(jì)算和容器技術(shù)的發(fā)展,越來越多的開發(fā)者開始采用Kubernetes進(jìn)行應(yīng)用程序部署和管理。在Kubernetes中,Service是一種重要的資源,用于管理和發(fā)布應(yīng)用程序服務(wù)。而Ingress則是一種更高級(jí)別的抽象,用于定義對(duì)集群中多個(gè)服務(wù)的公共HTTP入口點(diǎn)。本文將介紹如何使用Ingress來發(fā)布Kubernetes服務(wù)。

使用Ingress來發(fā)布Kubernetes服務(wù)的前提是已經(jīng)有一套可以正常運(yùn)行的Kubernetes集群,關(guān)于Kubernetes(k8s)集群的安裝部署,可以查看博客《Centos7 安裝部署Kubernetes(k8s)集群》https://www.cnblogs.com/renshengdezheli/p/16686769.html。

三.Kubernetes ingress簡介

Ingress是一個(gè)Kubernetes API對(duì)象,它定義了一組規(guī)則,將外部請(qǐng)求路由到集群中的服務(wù)。與NodePort和LoadBalancer相比,Ingress提供了更高級(jí)別的功能,例如虛擬主機(jī)、TLS終止和路徑重寫等。關(guān)于使用NodePort或者LoadBalancer發(fā)布Kubernetes服務(wù),詳情請(qǐng)查看博客《Kubernetes(k8s)服務(wù)service:service的發(fā)現(xiàn)和service的發(fā)布》。

要使用Ingress,需要先安裝一個(gè)Ingress控制器來處理Ingress對(duì)象。Ingress控制器是一個(gè)運(yùn)行在Kubernetes集群中的服務(wù),用于監(jiān)聽Ingress對(duì)象的變化,并自動(dòng)配置負(fù)載均衡器、路由規(guī)則和TLS證書等。

常見的Ingress控制器包括Nginx Ingress Controller、Traefik Ingress Controller和Istio Ingress Gateway。在本文中,我們將使用Nginx Ingress Controller來演示如何使用Ingress發(fā)布Kubernetes服務(wù)。

四.Ingress vs NodePort vs LoadBalancer

NodePort 和 LoadBalancer 是 Kubernetes 提供的其他兩種服務(wù)發(fā)布方式。

  • NodePort 將一個(gè)隨機(jī)端口映射到 Service 的端口上,這樣就可以通過 Kubernetes 集群的任何節(jié)點(diǎn) IP 和 NodePort 訪問 Service。
  • LoadBalancer 將服務(wù)公開給外部負(fù)載均衡器,可以使用云提供商的負(fù)載均衡器或者自己配置 LoadBalancer。

Ingress 是 Kubernetes 集群中管理外部訪問的重要組件,通過 Ingress Controller可以更細(xì)粒度地控制路由規(guī)則,支持多個(gè) URL 路徑和域名映射到不同的 Service 上。

NodePort 簡單易用,適合小規(guī)模應(yīng)用程序,但是對(duì)于高負(fù)載場景可能會(huì)出現(xiàn)性能問題。缺點(diǎn)是不夠靈活,無法動(dòng)態(tài)調(diào)整負(fù)載均衡策略,且端口沖突的可能性較大。

LoadBalancer 支持自動(dòng)擴(kuò)展,可以處理大流量和高并發(fā)請(qǐng)求。缺點(diǎn)是需要額外付費(fèi)購買云平臺(tái)提供的負(fù)載均衡器服務(wù)。

在選擇使用哪種服務(wù)發(fā)布方式時(shí),需要根據(jù)實(shí)際需求進(jìn)行權(quán)衡。以下是一些參考因素:

  • Ingress 可以更細(xì)粒度地控制路由規(guī)則,支持多個(gè) URL 路徑和域名映射到不同的 Service 上。
  • NodePort 簡單易用,適合小規(guī)模應(yīng)用程序,但是對(duì)于高負(fù)載場景可能會(huì)出現(xiàn)性能問題。
  • LoadBalancer 支持自動(dòng)擴(kuò)展,可以處理大流量和高并發(fā)請(qǐng)求。

五.安裝部署Nginx Ingress Controller控制器

要使用Ingress,需要先安裝一個(gè)Ingress控制器來處理Ingress對(duì)象。本次使用Nginx Ingress Controller控制器,Nginx Ingress Controller控制器本質(zhì)上是一個(gè)nginx的反向代理(根據(jù)訪問地址的不同,轉(zhuǎn)發(fā)到不同的服務(wù)器)。

Nginx Ingress Controller的官網(wǎng)為:https://kubernetes.github.io/ingress-nginx/deploy/

Nginx Ingress Controller的安裝說明如下:

下載Nginx Ingress Controller的部署文件

[root@k8scloude1 svc]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

查看部署文件里需要的鏡像

[root@k8scloude1 svc]# grep image deploy.yaml 
          image: k8s.gcr.io/ingress-nginx/controller:v1.1.1@sha256:0bc88eb15f9e7f84e8e56c14fa5735aaa488b840983f87bd79b1054190e660de
          imagePullPolicy: IfNotPresent
          image: k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660
          imagePullPolicy: IfNotPresent
          image: k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660
          imagePullPolicy: IfNotPresent

因?yàn)閐eploy.yaml部署文件需要的是k8s.gcr.io下的鏡像,k8s.gcr.io這個(gè)網(wǎng)址訪問不了,我們下載其他官網(wǎng)的鏡像來使用也是一樣的。

注意:ingress-nginx-controller鏡像和kube-webhook-certgen鏡像的版本不能相差太大,不然部署會(huì)失敗

在所有節(jié)點(diǎn)上下載Nginx Ingress Controller所需的鏡像。

[root@k8scloude1 svc]# docker pull willdockerhub/ingress-nginx-controller:v1.0.0
[root@k8scloude1 svc]# docker pull docker.io/liangjw/kube-webhook-certgen:v1.1.1

#此時(shí)所需鏡像就下載好了
[root@k8scloude1 svc]# docker images | grep kubecube
willdockerhub/ingress-nginx-controller                            v1.0.0    ef43679c2cae   7 months ago    283MB
liangjw/kube-webhook-certgen                                      v1.1.1    c41e9fcadf5a   6 months ago    47.7MB

修改部署文件里的鏡像為下載好的鏡像

[root@k8scloude1 svc]# vim deploy.yaml 

#注意:- --watch-ingress-without-class=true參數(shù)經(jīng)過測試加不加這個(gè)參數(shù)都沒影響
#deploy.yaml 文件里args參數(shù)修改為如下:
args:
            - /nginx-ingress-controller
            - --election-id=ingress-controller-leader
            - --controller-class=k8s.io/ingress-nginx
            - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
            - --validating-webhook=:8443
            - --validating-webhook-certificate=/usr/local/certificates/cert
            - --validating-webhook-key=/usr/local/certificates/key
            - --watch-ingress-without-class=true  # 新增

[root@k8scloude1 svc]# grep image deploy.yaml 
         image: willdockerhub/ingress-nginx-controller:v1.0.0
          imagePullPolicy: IfNotPresent
          image: docker.io/liangjw/kube-webhook-certgen:v1.1.1
          imagePullPolicy: IfNotPresent
          image: docker.io/liangjw/kube-webhook-certgen:v1.1.1
          imagePullPolicy: IfNotPresent

部署Nginx Ingress Controller控制器。

[root@k8scloude1 svc]# kubectl apply -f deploy.yaml 
namespace/ingress-nginx created
serviceaccount/ingress-nginx created
configmap/ingress-nginx-controller created
......
rolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created
job.batch/ingress-nginx-admission-create created
job.batch/ingress-nginx-admission-patch created

此時(shí)Nginx Ingress Controller控制器部署成功了。

[root@k8scloude1 upload]# kubectl get pod -n ingress-nginx -o wide
NAME                                        READY   STATUS      RESTARTS   AGE     IP               NODE         NOMINATED NODE   READINESS GATES
ingress-nginx-admission-create-p4m4z        0/1     Completed   0          2m13s   10.244.112.178   k8scloude2   <none>           <none>
ingress-nginx-admission-patch-hdp4b         0/1     Completed   2          2m13s   10.244.251.205   k8scloude3   <none>           <none>
ingress-nginx-controller-684bbc4b45-2t8d6   1/1     Running     0          2m13s   10.244.251.207   k8scloude3   <none>           <none>

六.使用Ingress來發(fā)布Kubernetes服務(wù)

6.1 創(chuàng)建3個(gè)pod

pod配置文件如下,功能為使用Nginx鏡像創(chuàng)建pod。

[root@k8scloude1 svc]# vim pod.yaml 

[root@k8scloude1 svc]# cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  labels:
    test: podtest
  name: podtest
spec:
  #當(dāng)需要關(guān)閉容器時(shí),立即殺死容器而不等待默認(rèn)的30秒優(yōu)雅停機(jī)時(shí)長。
  terminationGracePeriodSeconds: 0
  containers:
  - name: nginx
    image: nginx
    #imagePullPolicy: IfNotPresent:表示如果本地已經(jīng)存在該鏡像,則不重新下載;否則從遠(yuǎn)程 Docker Hub 下載該鏡像
    imagePullPolicy: IfNotPresent

生成三個(gè)pod用于ingress訪問。

[root@k8scloude1 svc]# sed 's/podtest/nginx1/' pod.yaml | kubectl apply -f -
pod/nginx1 created

[root@k8scloude1 svc]# sed 's/podtest/nginx2/' pod.yaml | kubectl apply -f -
pod/nginx2 created

[root@k8scloude1 svc]# sed 's/podtest/nginx3/' pod.yaml | kubectl apply -f -
pod/nginx3 created

[root@k8scloude1 svc]# kubectl get pod -o wide
NAME     READY   STATUS    RESTARTS   AGE   IP               NODE         NOMINATED NODE   READINESS GATES
nginx1   1/1     Running   0          21s   10.244.112.180   k8scloude2   <none>           <none>
nginx2   1/1     Running   0          15s   10.244.251.209   k8scloude3   <none>           <none>
nginx3   1/1     Running   0          11s   10.244.112.181   k8scloude2   <none>           <none>

修改nginx的index.html文件,用于辨別每個(gè)pod。

[root@k8scloude1 svc]# kubectl exec -it nginx1 -- sh -c "echo 111 >/usr/share/nginx/html/index.html"

[root@k8scloude1 svc]# kubectl exec -it nginx2 -- sh -c "echo 222 >/usr/share/nginx/html/index.html"

[root@k8scloude1 svc]# kubectl exec -it nginx3 -- sh -c "mkdir /usr/share/nginx/html/ingress; echo 333 >/usr/share/nginx/html/ingress/index.html"

給每個(gè)pod創(chuàng)建一個(gè)svc服務(wù)

[root@k8scloude1 svc]# kubectl expose --name=nginx1svc pod nginx1 --port=80
service/nginx1svc exposed

[root@k8scloude1 svc]# kubectl expose --name=nginx2svc pod nginx2 --port=80
service/nginx2svc exposed

[root@k8scloude1 svc]# kubectl expose --name=nginx3svc pod nginx3 --port=80
service/nginx3svc exposed

[root@k8scloude1 svc]# kubectl get svc -o wide
NAME        TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE   SELECTOR
nginx1svc   ClusterIP   10.96.191.58     <none>        80/TCP    72s   test=nginx1
nginx2svc   ClusterIP   10.99.148.123    <none>        80/TCP    54s   test=nginx2
nginx3svc   ClusterIP   10.103.229.198   <none>        80/TCP    15s   test=nginx3

通過ClusterIP訪問每個(gè)Nginx。因?yàn)閟vc類型為ClusterIP,所以kubernetes集群外的機(jī)器訪問不了svc,下面使用ingress發(fā)布服務(wù)。

[root@k8scloude1 svc]# curl -s 10.96.191.58
111

[root@k8scloude1 svc]# curl -s 10.99.148.123
222

[root@k8scloude1 svc]# curl -s 10.103.229.198/ingress/index.html
333

6.2 配置ingress規(guī)則發(fā)布服務(wù)

下面定義ingress的規(guī)則。ingress會(huì)將兩個(gè)不同的域名(www.nginx13.com和www.nginx2.com)路由到不同的Service上。如下定義了三個(gè)規(guī)則,每個(gè)規(guī)則都綁定了一個(gè)不同的域名,并指定了該域名的HTTP請(qǐng)求將被轉(zhuǎn)發(fā)到哪個(gè)Service上;

  • 對(duì)于第一個(gè)和第二個(gè)規(guī)則(www.nginx13.com),對(duì)訪問網(wǎng)址根目錄路徑的請(qǐng)求使用前綴匹配方式(pathType: Prefix)進(jìn)行匹配,并將其轉(zhuǎn)發(fā)到名為nginx1svc的Service上;對(duì)訪問網(wǎng)址/ingress路徑的請(qǐng)求使用前綴匹配方式(pathType: Prefix)進(jìn)行匹配,并將其轉(zhuǎn)發(fā)到名為nginx3svc的Service上;
  • 對(duì)于第三個(gè)規(guī)則(www.nginx2.com),對(duì)訪問網(wǎng)址根目錄的請(qǐng)求使用前綴匹配方式(pathType: Prefix)進(jìn)行匹配,并將其轉(zhuǎn)發(fā)到名為nginx2svc的Service上。

特別注意:需要在annotations中指定你的ingress class,此處使用的nginx-ingress所以是Nginx,所以寫為:annotations:kubernetes.io/ingress.class: "nginx", 否則無法通過配置的域名www.nginx13.com訪問。

這個(gè)Ingress資源定義了路由規(guī)則,以便在集群外部訪問服務(wù)時(shí),可以通過不同的域名和路徑來訪問不同的后端服務(wù)。

[root@k8scloude1 svc]# vim ingress-rule.yaml

[root@k8scloude1 svc]# cat ingress-rule.yaml 
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: www.nginx13.com
    http:
      paths:
      #訪問網(wǎng)址目錄
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx1svc
            port:
              number: 80
      - path: /ingress
        pathType: Prefix
        backend:
          service:
            name: nginx3svc
            port:
              number: 80

  - host: www.nginx2.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx2svc
            port:
              number: 80

應(yīng)用ingress規(guī)則

[root@k8scloude1 svc]# kubectl apply -f ingress-rule.yaml 
ingress.networking.k8s.io/my-ingress created

查看ingress

[root@k8scloude1 svc]# kubectl get ingress -o wide
NAME         CLASS    HOSTS                            ADDRESS   PORTS   AGE
my-ingress   <none>   www.nginx13.com,www.nginx2.com             80      10s


[root@k8scloude1 svc]# kubectl get ing -o wide
NAME         CLASS    HOSTS                            ADDRESS   PORTS   AGE
my-ingress   <none>   www.nginx13.com,www.nginx2.com             80      10s

可以發(fā)現(xiàn)80端口被映射為32253端口。

[root@k8scloude1 svc]# kubectl get svc -n ingress-nginx -o wide
NAME                                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE   SELECTOR
ingress-nginx-controller             NodePort    10.96.184.210   <none>        80:32253/TCP,443:30876/TCP   22m   app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx
ingress-nginx-controller-admission   ClusterIP   10.102.52.109   <none>        443/TCP                      22m   app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx

當(dāng)在其他命名空間創(chuàng)建相同的ingress規(guī)則時(shí),會(huì)提醒重復(fù)

[root@k8scloude1 svc]# kubectl apply -f ingress-rule.yaml -n default
Error from server (BadRequest): error when creating "ingress-rule.yaml": admission webhook "validate.nginx.ingress.kubernetes.io" denied the request: host "www.nginx13.com" and path "/" is already defined in ingress tls-ingress/my-ingress

下面在瀏覽器里進(jìn)行訪問,因?yàn)閕ngress-nginx-controller控制器在192.168.110.128上,所以需要在客戶端配置192.168.110.128和域名的映射。

首先需要配置Windows的hosts文件:在C:\Windows\System32\drivers\etc\HOSTS下添加如下:

192.168.110.128 www.nginx13.com
192.168.110.128 www.nginx2.com

在瀏覽器里訪問,可以看到如下:

也可以在Linux里進(jìn)行訪問,同理需要在客戶端配置192.168.110.128和域名的映射。

etcd1機(jī)器作為客戶端,在/etc/hosts里添加ingress所在機(jī)器的地址映射。

[root@etcd1 ~]# vim /etc/hosts

[root@etcd1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.110.128 www.nginx13.com
192.168.110.128 www.nginx2.com

現(xiàn)在訪問Nginx。

[root@etcd1 ~]# curl www.nginx13.com:31853/
111

[root@etcd1 ~]# curl www.nginx13.com:31853/ingress/index.html
333

[root@etcd1 ~]# curl www.nginx2.com:31853/
222

自此使用Ingress來發(fā)布Kubernetes服務(wù)成功!

七.總結(jié)

本文介紹了如何使用Kubernetes Ingress來發(fā)布服務(wù),并演示了如何通過創(chuàng)建pod、Service和Ingress資源來配置和管理應(yīng)用程序。使用Ingress,您可以方便地將多個(gè)服務(wù)公開到外部,并通過路由規(guī)則和TLS終止等高級(jí)功能來保護(hù)和管理它們。在實(shí)踐中,需要根據(jù)自己的需求選擇適合自己的Ingress控制器,并使用Ingress資源來配置和管理服務(wù)入口點(diǎn)。文章來源地址http://www.zghlxwxcb.cn/news/detail-473941.html

到了這里,關(guān)于Kubernetes(k8s)使用ingress發(fā)布服務(wù)的文章就介紹完了。如果您還想了解更多內(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)文章

  • Kubernetes技術(shù)--k8s核心技術(shù) ingress

    1.引入 ? ? ? ?我們之前在部署應(yīng)用(如nginx)的時(shí)候,如果你需要外部進(jìn)行訪問,使用的是service中的nodePort方式進(jìn)行對(duì)外的暴露。然后外部就可以使用ip + 端口號(hào)來進(jìn)行訪問部署應(yīng)用。 ? ? ? ? 其實(shí)這一種方式是存在著較為明顯的缺陷,每一個(gè)端口你只能夠使用一次,一個(gè)端口

    2024年02月10日
    瀏覽(25)
  • k8s集群使用ingress轉(zhuǎn)發(fā)grafana服務(wù)

    k8s集群使用ingress轉(zhuǎn)發(fā)grafana服務(wù)

    在k8s集群中,使用ingress服務(wù)轉(zhuǎn)發(fā)grafana的頁面。 ingress方面增加路由規(guī)則和跨命名空間的service即可 grafana增加configmap掛載grafana.ini文件,增加匿名登陸配置和root_url配置 grafana.ini文件的yaml文件 grafana啟動(dòng)服務(wù)的yaml文件 我這里使用的pvc的存儲(chǔ)類型是rook-ceph,使用其他存儲(chǔ)類型的修

    2024年02月09日
    瀏覽(18)
  • 【kubernetes系列】k8s ingress配置websocket支持

    【kubernetes系列】k8s ingress配置websocket支持

    背景:公司的后端同事在代碼調(diào)試過程中需要上傳一個(gè)文件,調(diào)用的websocket接口 瀏覽器上傳文件一直卡主,通過瀏覽器調(diào)試模式發(fā)現(xiàn)無法正常獲取websocket的連接 websocket的接口訪問可以通過wscat命令(需單獨(dú)安裝)測試。 瀏覽器訪問報(bào)錯(cuò)如下: WebSocket connection to ‘ws://*******

    2024年02月06日
    瀏覽(26)
  • Kubernetes(k8s)服務(wù)service:service的發(fā)現(xiàn)和service的發(fā)布

    目錄 一.系統(tǒng)環(huán)境 二.前言 三.Kubernetes service簡介 四.使用hostPort向外界暴露應(yīng)用程序 4.1 創(chuàng)建deploy 4.2 使用hostPort向外界暴露pod的端口 五.使用service服務(wù)向外界暴露應(yīng)用程序 5.1 使用service服務(wù)向外界暴露pod 5.1.1 創(chuàng)建service服務(wù) 5.1.2 測試svc的負(fù)載均衡 六.service服務(wù)的發(fā)現(xiàn) 6.1 使用

    2024年02月08日
    瀏覽(21)
  • 用Kubernetes(k8s)的ingress部署https應(yīng)用

    用Kubernetes(k8s)的ingress部署https應(yīng)用

    我之前有一片文章寫的是用ingress暴露應(yīng)用,這篇文章接著上一片文章繼續(xù)講使用ingress暴露https的應(yīng)用。請(qǐng)先參考上一片文章將ingress先在Kubernetes集群當(dāng)中安裝上: ingress暴露應(yīng)用文章地址:https://blog.csdn.net/m0_51510236/article/details/132536519 因?yàn)槭潜┞秇ttps,所以需要域名證書。分以

    2024年02月10日
    瀏覽(51)
  • 【一起來學(xué)kubernetes】7、k8s中的ingress詳解

    【一起來學(xué)kubernetes】7、k8s中的ingress詳解

    Ingress 是Kubernetes集群中的一種資源類型,用于實(shí)現(xiàn)用域名的方式訪問Kubernetes內(nèi)部應(yīng)用。它為Kubernetes集群中的服務(wù)提供了入口,可以提供負(fù)載均衡、SSL終止和基于名稱的虛擬主機(jī)。在生產(chǎn)環(huán)境中常用的Ingress有 Treafik 、 Nginx 、 HAProxy 、 Istio 等。基本概念是在Kubernetes v 1.1版中添

    2024年02月05日
    瀏覽(26)
  • K8S Nginx Ingress實(shí)現(xiàn)金絲雀發(fā)布

    K8S Nginx Ingress實(shí)現(xiàn)金絲雀發(fā)布

    通過給 Ingress 資源指定 Nginx Ingress 所支持的 annotation 可實(shí)現(xiàn)金絲雀發(fā)布。 需給服務(wù)創(chuàng)建2個(gè) Ingress,其中 1個(gè)常規(guī) Ingress , 另1個(gè)為帶? nginx.ingress.kubernetes.io/canary: \\\"true\\\" ?固定的 annotation 的 Ingress,稱為 Canary Ingress。 Canary Ingress 一般代表新版本的服務(wù),結(jié)合另外針對(duì)流量切分策

    2024年02月11日
    瀏覽(31)
  • 飛天使-k8s知識(shí)點(diǎn)22-kubernetes實(shí)操7-ingress

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

    ingress 概念理解 環(huán)境準(zhǔn)備 準(zhǔn)備service和pod tomcat-nginx.yaml 創(chuàng)建ingress-http.yaml 驗(yàn)證效果 https 代理 創(chuàng)建證書 創(chuàng)建ingress-https.yaml 效果 查看映射到公網(wǎng)端口 參考文檔: https://znunwm.top/archives/121212#7.4-ingress%E4%BB%8B%E7%BB%8D

    2024年02月22日
    瀏覽(25)
  • 【K8S 云原生】K8S的對(duì)外服務(wù)—ingress

    【K8S 云原生】K8S的對(duì)外服務(wù)—ingress

    目錄 一、K8S的Service 1、Service的作用 2、Service類型: 二、ingress 1、ingress的組成: 2、ingress資源的定義項(xiàng): 三、nginx-ingress-controller暴露服務(wù)端的方式 1、Deployment+LoadBalancer模式: 1、工作流程圖: 2、Daemonset+hostnetwork+nodeSelector模式: 1、工作流程圖 2、實(shí)驗(yàn): 3、deployment+NodePort

    2024年01月18日
    瀏覽(21)
  • K8S對(duì)外服務(wù)ingress

    K8S對(duì)外服務(wù)ingress

    集群內(nèi)部 不斷跟蹤pod的變化,更新endpoint中的pod對(duì)象,基于pod的ip地址不斷發(fā)現(xiàn)的一種服務(wù)發(fā)現(xiàn)機(jī)制 集群外部 類似負(fù)載均衡器,把流量(ip+端口),不涉及轉(zhuǎn)發(fā)url(http https),把請(qǐng)求轉(zhuǎn)發(fā)到pod當(dāng)中 在Kubernetes中,Pod的IP地址和service的ClusterIP僅可以在集群網(wǎng)絡(luò)內(nèi)部使用,對(duì)于集

    2024年01月19日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包