最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

k8s?Ingress實(shí)現(xiàn)流量路由規(guī)則控制的定義格式類型

 更新時間:2023年04月10日 08:39:51   作者:路由器沒有路  
這篇文章主要為大家介紹了k8s?Ingress?實(shí)現(xiàn)流量路由規(guī)則控制的定義格式及類型詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

在 Kubernetes 中,Ingress 是一個非常重要的概念。它可以將外部流量路由到 Kubernetes 集群內(nèi)的不同服務(wù)。

Ingress 可以讓你更加方便地管理 HTTP 和 HTTPS 流量,并且可以配置負(fù)載均衡、SSL 證書等功能。本文將會介紹 Ingress 的定義、類型、更新、以及相關(guān)的控制器和類別。

什么是 Ingress

通常情況下,service 和 pod 的 IP 僅可在集群內(nèi)部訪問。集群外部的請求需要通過負(fù)載均衡轉(zhuǎn)發(fā)到 service 在 Node 上暴露的 NodePort 上,然后再由 kube-proxy 通過邊緣路由器 (edge router) 將其轉(zhuǎn)發(fā)給相關(guān)的 Pod 或者丟棄。

Ingress 是 Kubernetes 的一個 API 對象,它定義了如何將外部流量路由到 Kubernetes 集群內(nèi)的不同服務(wù)。它可以通過 HTTP 和 HTTPS 協(xié)議進(jìn)行流量路由,并且支持域名和路徑的匹配。

Ingress 是一個非常強(qiáng)大的功能,可以讓你更加方便地管理流量,并且可以輕松實(shí)現(xiàn)負(fù)載均衡、SSL 證書等功能。

Ingress 的定義格式

Ingress 的定義格式如下:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-name
  annotations:
    key: value
spec:
  rules:
    - host: example.com
      http:
        paths:
          - path: /path
            backend:
              serviceName: service-name
              servicePort: service-port

其中,apiVersion字段表示 Ingress 對象的 API 版本,kind字段表示對象的類型,metadata字段包含了 Ingress 對象的元數(shù)據(jù),例如對象名稱和標(biāo)簽等,spec字段則包含了 Ingress 對象的配置信息,例如規(guī)則和后端服務(wù)等。

Ingress 的類型有哪幾種?

Kubernetes 支持多種不同類型的 Ingress,每種類型都有自己的特點(diǎn)和用途。下面是一些常見的 Ingress 類型:

1. Simple fanout

簡單的 Fanout Ingress 會將流量路由到指定的多個服務(wù)上。它可以通過域名和路徑進(jìn)行匹配,并且支持負(fù)載均衡功能。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: simple-fanout-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /service1
        backend:
          serviceName: service1
          servicePort: 80
      - path: /service2
        backend:
          serviceName: service2
          servicePort: 80

2. Name-based virtual hosting

基于名稱的虛擬主機(jī) Ingress 會將流量路由到指定的服務(wù)上,具體的服務(wù)由請求的 Host 頭部決定。它可以通過域名進(jìn)行匹配,并且支持負(fù)載均衡和 SSL 證書等功能。

foo.example.com --|                 |-> foo.example.com s1:80
                  | 168.92.133.131  |
bar.example.com --|                 |-> bar.example.com s2:80

下面是一個基于 Host header 路由請求的 Ingress:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: name-based-virtual-hosting-ingress
spec:
  rules:
  - host: foo.example.com
    http:
      paths:
      - backend:
          serviceName: service1
          servicePort: 80
  - host: bar.example.com
    http:
      paths:
      - backend:
          serviceName: service2
          servicePort: 80

3. Path-based routing

基于路徑的路由 Ingress 會將流量路由到指定的服務(wù)上,具體的服務(wù)由請求的 URL 路徑?jīng)Q定。它可以通過路徑進(jìn)行匹配,并且支持負(fù)載均衡和 SSL 證書等功能。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: path-based-routing-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /service1
        backend:
          serviceName: service1
          servicePort: 80
      - path: /service2
        backend:
          serviceName: service2
          servicePort: 80

該如何實(shí)現(xiàn)更新 Ingress

更新 Ingress 非常簡單,只需要修改 Ingress 對象的定義文件,然后執(zhí)行kubectl apply命令即可。例如,假設(shè)我們想要將simple-fanout-ingress的路徑/service1修改為/service3,則可以編輯 Ingress 對象的定義文件,然后執(zhí)行以下命令:

$ kubectl apply -f ingress.yaml

其中,ingress.yaml是 Ingress 對象的定義文件。

更新后:

$ kubectl get ing
NAME      RULE          BACKEND   ADDRESS
test      -                       168.92.133.131
          foo.example.com
          /foo          s1:80
          bar.example.com
          /bar          s2:80

Ingress Controller

Ingress Controller 是一個運(yùn)行在 Kubernetes 集群內(nèi)的服務(wù),它可以監(jiān)聽 Kubernetes API 服務(wù)器上的 Ingress 對象,并將外部流量路由到 Kubernetes 集群內(nèi)的不同服務(wù)。

每種類型的 Ingress 都需要特定的 Ingress Controller 來處理。例如,簡單的 Fanout Ingress 需要使用 Nginx Ingress Controller,而基于名稱的虛擬主機(jī) Ingress 則需要使用 Traefik Ingress Controller。

Ingress Class

Ingress Class 是一個可選的字段,它可以讓你更加精細(xì)地控制 Ingress 對象的路由方式。

每個 Ingress 對象都可以指定一個 Ingress Class,這個 Ingress Class 可以對應(yīng)不同的 Ingress Controller,并且可以讓你更加方便地控制路由方式。

總結(jié)

Ingress 是 Kubernetes 中非常重要的一個資源對象,它可以將外部流量路由到 Kubernetes 集群內(nèi)的不同服務(wù),并且支持多種不同類型的路由方式。

換言之,Ingress 就是為進(jìn)入集群的請求提供路由規(guī)則的集合,可以給 service 提供集群外部訪問的 URL、負(fù)載均衡、SSL 終止、HTTP 路由等功能。

以上就是k8s Ingress 實(shí)現(xiàn)流量路由規(guī)則控制的詳細(xì)內(nèi)容,更多關(guān)于k8s Ingress 實(shí)現(xiàn)流量路由規(guī)則控制的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 從小飯館客流量變大論云原生負(fù)載均衡

    從小飯館客流量變大論云原生負(fù)載均衡

    這篇文章主要為大家介紹了從小飯館客流量變大來討論云原生負(fù)載均衡,為大家做出更生動易懂的云原生解釋說明有需要的朋友可以借鑒參考下
    2022-03-03
  • kubernetes?k8s入門定義一個Pod

    kubernetes?k8s入門定義一個Pod

    這篇文章主要為大家介紹了k8s入門定義一個Pod以及破底的定義內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多計(jì)步,早日升職加薪
    2022-03-03
  • RFO SIG之openEuler AWS AMI 制作詳解

    RFO SIG之openEuler AWS AMI 制作詳解

    這篇文章主要為大家介紹了RFO SIG之openEuler AWS AMI 制作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Rainbond部署組件Statefulset的使用官方文檔

    Rainbond部署組件Statefulset的使用官方文檔

    這篇文章主要為大家介紹了官方文檔Rainbond部署組件Statefulset的使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 詳解Rainbond云原生平臺簡化Kubernetes業(yè)務(wù)問題排查

    詳解Rainbond云原生平臺簡化Kubernetes業(yè)務(wù)問題排查

    這篇文章主要介紹了詳解Rainbond云原生平臺簡化Kubernetes業(yè)務(wù)問題排查,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • tkestack/gpu-manager在k8s1.23版本之后的使用方法

    tkestack/gpu-manager在k8s1.23版本之后的使用方法

    這篇文章主要介紹了tkestack/gpu-manager在k8s1.23版本之后的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 自定義資源CRD使用介紹

    自定義資源CRD使用介紹

    這篇文章主要為大家介紹了自定義資源CRD的使用示例介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • k8s?service?nodePort無法訪問的問題解決

    k8s?service?nodePort無法訪問的問題解決

    今天有一個項(xiàng)目做service nodeport轉(zhuǎn)發(fā),結(jié)果設(shè)置完之后發(fā)現(xiàn)外網(wǎng)訪問失敗,下面這篇文章主要給大家介紹了關(guān)于k8s?service?nodePort無法訪問的問題解決,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Kubernetes組件和架構(gòu)簡介

    Kubernetes組件和架構(gòu)簡介

    Kubernetes是google開源的容器編排工具,本質(zhì)是一組服務(wù)器集群,在集群的各個節(jié)點(diǎn)上運(yùn)行程序來進(jìn)行容器進(jìn)行管理,最終實(shí)現(xiàn)資源管理智能化、自動化,這篇文章主要介紹了Kubernetes組件和架構(gòu)簡介,需要的朋友可以參考下
    2023-09-09
  • Rancher部署配置開源Rainbond云原生應(yīng)用管理平臺

    Rancher部署配置開源Rainbond云原生應(yīng)用管理平臺

    這篇文章主要為大家介紹了Rancher部署配置開源Rainbond云原生應(yīng)用管理平臺,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04

最新評論

宝兴县| 水城县| 阳泉市| 甘谷县| 泰顺县| 湾仔区| 晋宁县| 探索| 甘泉县| 海宁市| 宜城市| 都匀市| 东乡族自治县| 甘德县| 深泽县| 昭觉县| 伊金霍洛旗| 泸溪县| 拜城县| 巴彦县| 广州市| 仙游县| 尚志市| 通许县| 安塞县| 盐边县| 枝江市| 辽宁省| 开原市| 城固县| 民权县| 桐城市| 鄯善县| 定边县| 新野县| 涿州市| 道孚县| 修水县| 宁波市| 通化县| 华亭县|