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

溫馨提示×

溫馨提示×

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

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

Kubernetes中如何部署Traefik Ingress

發布時間:2021-12-24 16:05:41 來源:億速云 閱讀:199 作者:小新 欄目:大數據

這篇文章給大家分享的是有關Kubernetes中如何部署Traefik Ingress的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

一:前言
1.到目前為止 Kubernetes 暴露服務的有三種方式,分別為 LoadBlancer Service、NodePort Service、Ingress。官網對 Ingress 的定義為管理對外服務到集群內服務之間規則的集合,通俗點講就是它定義規則來允許進入集群的請求被轉發到集群中對應服務上,從來實現服務暴漏。 Ingress 能把集群內 Service 配置成外網能夠訪問的 URL,流量負載均衡,終止SSL,提供基于域名訪問的虛擬主機等等
LoadBlancer Service:LoadBlancer Service 是 Kubernetes 結合云平臺的組件,如國外 GCE、AWS、國內阿里云等等,使用它向底層云平臺申請創建負載均衡器來實現,有局限性,對于使用云平臺的集群比較方便。

NodePort Service:  NodePort Service 是通過在節點上暴漏端口,然后通過將端口映射到具體某個服務上來實現服務暴漏,比較直觀方便,但是對于集群來說,隨著 Service 的不斷增加,需要的端口越來越多,很容易出現端口沖突,而且不容易管理。當然對于小規模的集群服務,還是比較不錯的。

Ingress:  Ingress 使用開源的反向代理負載均衡器來實現對外暴漏服務,比如 Nginx、Apache、Haproxy等。

2.traefik 是一個前端負載均衡器,對于微服務架構尤其是 kubernetes 等編排工具具有良好的支持;同 nginx 等相比,traefik 能夠自動感知后端容器變化,從而實現自動服務發現

二:yaml文件

可以通過https://github.com/containous/traefik/tree/master/examples/k8s 下載所需要的yaml文件; 我們使用了如下幾個文件:
Kubernetes中如何部署Traefik Ingress
traefik-rbac.yaml

點擊(此處)折疊或打開

  1. ---

  2. kind: ClusterRole

  3. apiVersion: rbac.authorization.k8s.io/v1beta1

  4. metadata:

  5.   name: traefik-ingress-controller

  6. rules:

  7.   - apiGroups:

  8.       - ""

  9.     resources:

  10.       - services

  11.       - endpoints

  12.       - secrets

  13.     verbs:

  14.       - get

  15.       - list

  16.       - watch

  17.   - apiGroups:

  18.       - extensions

  19.     resources:

  20.       - ingresses

  21.     verbs:

  22.       - get

  23.       - list

  24.       - watch

  25. ---

  26. kind: ClusterRoleBinding

  27. apiVersion: rbac.authorization.k8s.io/v1beta1

  28. metadata:

  29.   name: traefik-ingress-controller

  30. roleRef:

  31.   apiGroup: rbac.authorization.k8s.io

  32.   kind: ClusterRole

  33.   name: traefik-ingress-controller

  34. subjects:

  35. - kind: ServiceAccount

  36.   name: traefik-ingress-controller

  37.   namespace: kube-system

traefik-ds.yaml

點擊(此處)折疊或打開

  1. ---

  2. apiVersion: v1

  3. kind: ServiceAccount

  4. metadata:

  5.   name: traefik-ingress-controller

  6.   namespace: kube-system

  7. ---

  8. kind: DaemonSet

  9. apiVersion: extensions/v1beta1

  10. metadata:

  11.   name: traefik-ingress-controller

  12.   namespace: kube-system

  13.   labels:

  14.     k8s-app: traefik-ingress-lb

  15. spec:

  16.   template:

  17.     metadata:

  18.       labels:

  19.         k8s-app: traefik-ingress-lb

  20.         name: traefik-ingress-lb

  21.     spec:

  22.       serviceAccountName: traefik-ingress-controller

  23.       terminationGracePeriodSeconds: 60

  24.       hostNetwork: true

  25.       containers:

  26.       - image: traefik

  27.         name: traefik-ingress-lb

  28.         ports:

  29.         - name: http

  30.           containerPort: 80

  31.           hostPort: 80

  32.         - name: admin

  33.           containerPort: 8080

  34.         securityContext:

  35.           capabilities:

  36.             drop:

  37.             - ALL

  38.             add:

  39.             - NET_BIND_SERVICE

  40.         args:

  41.         - --api

  42.         - --kubernetes

  43.         - --logLevel=INFO

  44. ---

  45. kind: Service

  46. apiVersion: v1

  47. metadata:

  48.   name: traefik-ingress-service

  49.   namespace: kube-system

  50. spec:

  51.   selector:

  52.     k8s-app: traefik-ingress-lb

  53.   ports:

  54.     - protocol: TCP

  55.       port: 80

  56.       name: web

  57.     - protocol: TCP

  58.       port: 8080

  59.       name: admin

  60.   type: NodePort

ui.yaml

點擊(此處)折疊或打開

  1. apiVersion: v1

  2. kind: Service

  3. metadata:

  4.   name: traefik-web-ui

  5.   namespace: kube-system

  6. spec:

  7.   selector:

  8.     k8s-app: traefik-ingress-lb

  9.   ports:

  10.   - name: web

  11.     port: 80

  12.     targetPort: 8580

  13. ---

  14. apiVersion: extensions/v1beta1

  15. kind: Ingress

  16. metadata:

  17.   name: traefik-web-ui

  18.   namespace: kube-system

  19. spec:

  20.   rules:

  21.   - host: traefik-ui.local

  22.     http:

  23.       paths:

  24.       - path: /

  25.         backend:

  26.           serviceName: traefik-web-ui

  27.           servicePort: web

my-ingress.yaml (這里我們對集群中的 elasticsearch和kibana開啟了Ingress)

點擊(此處)折疊或打開

  1. apiVersion: extensions/v1beta1

  2. kind: Ingress

  3. metadata:

  4.   name: traefik-ingress

  5.   namespace: kube-system

  6. spec:

  7.   rules:

  8.   - host: elasticsearch.donkey

  9.     http:

  10.       paths:

  11.       - path: /

  12.         backend:

  13.           serviceName: elasticsearch-logging

  14.           servicePort: 9200

  15.   - host: kibana.donkey

  16.     http:

  17.       paths:

  18.       - path: /

  19.         backend:

  20.           serviceName: kibana-logging

  21.           servicePort: 5601


三:部署與驗證

1.創建資源  kubectl create -f .
Kubernetes中如何部署Traefik Ingress

2. 通過kubectl logs -f     確認pod正常啟動

3.traefik  dashboard
Kubernetes中如何部署Traefik Ingress

4.如果需要在kubernetes集群以外訪問就需要設置DNS,或者修改本機的hosts文件。然后通過Igress配置中的host  直接訪問service.

感謝各位的閱讀!關于“Kubernetes中如何部署Traefik Ingress”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

阳东县| 布尔津县| 稷山县| 旬阳县| 胶南市| 湘西| 乐平市| 苗栗县| 成安县| 汝阳县| 罗田县| 尉氏县| 西丰县| 绥棱县| 苗栗县| 永善县| 偃师市| 宁夏| 司法| 长寿区| 五大连池市| 会宁县| 色达县| 丰镇市| 招远市| 甘孜县| 城步| 黄浦区| 乳山市| 青川县| 永济市| 常山县| 合山市| 阿克苏市| 房产| 都安| 泊头市| 平泉县| 徐水县| 台江县| 射阳县|