久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

k8s中的Traefik怎么理解

161次閱讀
沒有評論

共計 3433 個字符,預(yù)計需要花費 9 分鐘才能閱讀完成。

今天就跟大家聊聊有關(guān) k8s 中的 Traefik 怎么理解,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

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

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

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

traefik:
traefik 本身設(shè)計的就能夠?qū)崟r跟 kubernetes api 交互,感知后端 service,pod 等的變化,自動更新配置并重載。

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

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

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

根據(jù) traefik 官網(wǎng)介紹  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

登錄官方網(wǎng)站 https://helm.sh/zh/docs/intro/quickstart/  查找最新版本,目前最新的穩(wěn)定版本是 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 顯示以下內(nèi)容表示安裝成功

添加 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 對應(yīng)的 chart 到本地

helm pull traefik/traefik

解壓 traefik 

tar -xzvf traefik-9.19.0.tgz

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

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

kubecl create -n traefik

下載 traefik2.4.8 鏡像

docker pull traefik:2.4.8

出現(xiàn)以下信息表示安裝成功

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

helm install traefik ./traefik/ -n traefik

出現(xiàn)以下信息表示安裝成功

traefik2.4.8 出于安全考慮,默認情況下,此 HelmChart 不會公開 Traefik 儀表板。但是我們還是有方法可以查看的,例如官網(wǎng)的創(chuàng)建一個 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

出現(xiàn)以下界面表示安裝成功

我們創(chuàng)建一個 nginx 來測試下

vi nginx-demo-ingress-route.yml 

我們創(chuàng)建一個 nginx 服務(wù),IngressRoute 路由設(shè)置改成‘/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

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

打開 route 看下路由情況

k8s 中的 Traefik 怎么理解

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

k8s 中的 Traefik 怎么理解

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

看完上述內(nèi)容,你們對 k8s 中的 Traefik 怎么理解有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計3433字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 久治县| 克山县| 巴青县| 那曲县| 吉林省| 宣城市| 焦作市| 昌邑市| 北宁市| 通渭县| 沙洋县| 新巴尔虎左旗| 靖江市| 延长县| 乐昌市| 贡觉县| 罗田县| 旅游| 资溪县| 黑山县| 延吉市| 麻江县| 论坛| 武强县| 辽宁省| 乐亭县| 都昌县| 蓬安县| 盐亭县| 浏阳市| 沂源县| 古交市| 上虞市| 灌云县| 永吉县| 普格县| 沛县| 贵南县| 新田县| 靖宇县| 宜宾市|