亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

k8s中的Traefik怎么理解

發布時間:2021-12-16 09:56:40 來源:億速云 閱讀:690 作者:柒染 欄目:云計算

今天就跟大家聊聊有關k8s中的Traefik怎么理解,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

Traefik 是一款開源的反向代理與負載均衡工具。
它最大的優點是能夠與常見的微服務系統直接整合,可以實現自動化動態配置。
目前支持 Docker、Swarm、Mesos/Marathon、 Mesos、Kubernetes、Consul、Etcd、Zookeeper、BoltDB、Rest API 等等后端模型。

為什么比較偏向域Traefik呢,下面來簡單對比下。

ingress:
使用nginx作為前端負載均衡,通過ingress controller不斷的和kubernetes api交互,實時獲取后端service,pod等的變化,然后動態更新nginx配置,并刷新使配置生效,達到服務發現的目的。

traefik:
traefik本身設計的就能夠實時跟kubernetes api交互,感知后端service,pod等的變化,自動更新配置并重載。

相對來說traefik更快速方便,同時支持更多的特性,使反向代理,負載均衡更直接更高效。

ingress分類nginx ingress  traefix ingress
協議http https htt2 grpc tcp udphttp https htt2 grpc tcp+tls
路由匹配host pathhost、path、headers、query、path prefix、method
命名空間支持-共用或指定命名空間
部署策略-金絲雀部署、藍綠部署、灰度部署
upstream探測重試、超時、心跳探測重試、超時、心跳探測、熔斷
負載均衡算法RR、會話保持、最小連接、最短時間、一致性hashWRR、動態RR、會話保持
優點簡單易用,易接入Golang編寫,部署容易,支持眾多的后端,內置WebUI
缺點沒有解決nginx reload,插件多,但是擴展性能查差沒什么缺點,新版本支持UDP

 下面我們開始進行traefick2.4.8安裝

根據traefik官網介紹 https://doc.traefik.io/traefik/  traefik安裝由以下4種方式

  • Use the official Docker image(使用docker鏡像)

  • Use the Helm Chart(使用helm)

  • Use the binary distribution(二進制安裝)

  • Compile your binary from the sources(源碼編譯)

我們當然是選擇helm方式,helm是k8s的包管理器,可以簡單理解為linux 的yum。下面我們先安裝helm吧

安裝Helm

登錄官方網站https://helm.sh/zh/docs/intro/quickstart/ 查找最新版本,目前最新的穩定版本是3.5.4

下載helm3.4.5

wget https://get.helm.sh/helm-v3.5.4-linux-amd64.tar.gz

解壓helm

tar -xzvf helm-v3.5.4-linux-amd64.tar.gz 

cd linux-amd64

mv helm /usr/local/bin/

運行 helm --help顯示以下內容表示安裝成功

k8s中的Traefik怎么理解

添加helm倉庫,這里添加2個(traefik和aliyun)

helm repo add traefik https://helm.traefik.io/traefik

helm repo add apphub https://apphub.aliyuncs.com/

更新repo倉庫資源

helm repo update

下載traefik對應的chart到本地

helm pull traefik/traefik

k8s中的Traefik怎么理解

解壓traefik  

tar -xzvf traefik-9.19.0.tgz

k8s中的Traefik怎么理解

修改values.yaml (這里主要是把traefik的service類型改成NodePort--原來是LoadBalancer。另外對外的http和https端口nodePort也打開,我這邊因為是端口沒被占用所以隨便設,讀者可以自行修改)

k8s中的Traefik怎么理解

k8s中的Traefik怎么理解

創建traefik命名空間(這里我是為了方便管理所以新增了個命名空間,讀者也可以安裝到default空間下,這個看個人喜歡)

kubecl create -n traefik

下載traefik2.4.8鏡像

docker pull traefik:2.4.8

出現以下信息表示安裝成功

k8s中的Traefik怎么理解

安裝本地traefik到命名空間traefik中

helm install traefik ./traefik/ -n traefik

出現以下信息表示安裝成功

k8s中的Traefik怎么理解

traefik2.4.8出于安全考慮,默認情況下,此HelmChart不會公開Traefik儀表板。但是我們還是有方法可以查看的,例如官網的創建一個 IngressRoute 

vi traefik-dashboard.yaml

# dashboard.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard
spec:
  entryPoints:
    - web
  routes:
    - match: PathPrefix(`/dashboard`) || PathPrefix(`/api`)
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService

 安裝(這里我依然是安裝到traefik命名空間方便管理)

kubectl apply -f traefik-dashboard.yaml -n traefik

出現以下界面表示安裝成功

k8s中的Traefik怎么理解

我們創建一個nginx來測試下

vi nginx-demo-ingress-route.yml 

我們創建一個nginx服務,IngressRoute路由設置改成‘/demo/’

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        volumeMounts:
        - name: timezone
          mountPath: /etc/localtime
      volumes:
        - name: timezone
          hostPath:
            path: /usr/share/zoneinfo/Asia/Shanghai
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
spec:
  ports:
  - port: 80
    targetPort: 80
  type: NodePort
  selector:
    app: nginx
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: nginx-ingressroute
  namespace: default
spec:
  entryPoints:
    - web
  routes:
  - match: PathPrefix(`/demo/`) 
    kind: Rule
    services:
    - name: nginx-svc
      port: 80

下載nginx鏡像

docker pull nginx:alpine

安裝

kubectl apply -f nginx-demo-ingress-route.yml -n traefik

k8s中的Traefik怎么理解

然后我們看到dashboard界面的services變成了5個(原來的是4個),route由3個變成4個。

k8s中的Traefik怎么理解

打開route看下路由情況

k8s中的Traefik怎么理解

可以看到我們新增的路由已經生效,接下來我們嘗試訪問一下
http://{外網IP}:32080/demo/

k8s中的Traefik怎么理解

說明路由生效,至此我們的traefik安裝成功。

看完上述內容,你們對k8s中的Traefik怎么理解有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屏南县| 滨州市| 明水县| 依安县| 康平县| 凤冈县| 嵊泗县| 越西县| 黑龙江省| 内江市| 伊宁市| 五河县| 湘潭县| 清新县| 赫章县| 三门峡市| 谢通门县| 泸州市| 河池市| 德昌县| 东山县| 宣城市| 洪洞县| 名山县| 湖南省| 青浦区| 深州市| 黎平县| 光山县| 南宫市| 芦山县| 普兰店市| 宁强县| 嵩明县| 友谊县| 彭州市| 榆树市| 巧家县| 大埔区| 天台县| 来凤县|