国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

k8s與aws--add-ebs-tags-controller為ebs增加tag

chanjarster / 1798人閱讀

摘要:但是可惜的是,當中的塊存儲并不支持這樣的方式。都是監聽指定資源,然后分別對和和三種事件,做出處理。部署具體部署的如下注意,加入集群中不存在角色,可以自行進行授權。例如創建成果以后,去的查看如下

前言

在使用aws的托管k8s--eks過程中,避免不了使用aws的LB和塊存儲。AWS公有云所有的資源都可以自定義tags,這樣的好處就是可以根據tag具體含義來對資源進行不同維度的審計和統計。比如按照部門,按照項目,環境(test,prod,uat)等維度。在設置service的類型為Loadbanlance的時候,可以通過以下annotations來自定義tag。

</>復制代碼

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. annotations:
  5. service.beta.kubernetes.io/aws-load-balancer-type: nlb
  6. # service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
  7. service.beta.kubernetes.io/aws-load-balancer-additional-resource-tags: "sgt:env=prod,sgt:group=SGT,sgt:project=hawkeye"
  8. labels:
  9. app: prometheus-server
  10. name: prometheus-server
  11. namespace: kube-system
  12. spec:
  13. ports:
  14. - name: http
  15. port: 9090
  16. protocol: TCP
  17. targetPort: 9090
  18. selector:
  19. app: prometheus-server
  20. type: LoadBalancer

但是可惜的是,k8s當中的塊存儲(ebs
)并不支持這樣的方式。可能aws覺得存儲比較便宜,不值得進行審計吧。但是本身ebs是支持打tag的。

所以為了滿足我們司在k8s落地過程中對存儲的審計,設計了add-ebs-tags-controller這個組件。

add-ebs-tags-controller 詳解 設計思路

大家都知道k8s中對于存儲是通過pv和pvc來實現的。因而add-ebs-tags-controller監聽所有新建的pvc,然后獲取到新建pvc的annotations(volume.beta.kubernetes.io/aws-block-storage-additional-resource-tags),最后調用aws的接口sdk,完成打tag的工作。

代碼實現

具體代碼參見 github。

代碼相對比較簡單,大家可以自行研究。總體實現思路和其他的controller類似。都是監聽指定資源,然后分別對Update和add和delete三種事件,做出處理。

當然這里不得不提一下,k8s controller設計的核心理念,controller通過監聽實際的狀態(status) ,不斷做出具體調整,向期望的狀態(spec) 靠輪。

部署

具體部署的yaml如下:

</>復制代碼

  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: add-ebs-tags-controller
  5. namespace: kube-system
  6. spec:
  7. replicas: 1
  8. selector:
  9. matchLabels:
  10. k8s-app: add-ebs-tags-controller
  11. task: tool
  12. template:
  13. metadata:
  14. labels:
  15. task: tool
  16. k8s-app: add-ebs-tags-controller
  17. annotations:
  18. scheduler.alpha.kubernetes.io/critical-pod: ""
  19. spec:
  20. serviceAccount: cluster-admin
  21. containers:
  22. - name: add-ebs-tags-controller
  23. image: iyacontrol/add-ebs-tags-controller:0.0.1
  24. imagePullPolicy: IfNotPresent

注意serviceAccount: cluster-admin,加入集群中不存在admin角色,可以自行進行rbac授權。

demo

例如:

</>復制代碼

  1. kind: PersistentVolumeClaim
  2. apiVersion: v1
  3. metadata:
  4. name: prometheus-claim
  5. namespace: kube-system
  6. annotations:
  7. volume.beta.kubernetes.io/aws-block-storage-additional-resource-tags: "sgt:env=prod,sgt:group=SGT,sgt:project=hawkeye"
  8. spec:
  9. accessModes:
  10. - ReadWriteOnce
  11. resources:
  12. requests:
  13. storage: 50Gi

創建成果以后,去aws的ui查看如下:

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/33166.html

相關文章

  • 自定義 OpenShift s2i 鏡像模板——OracleJDK8

    摘要:自定義鏡像部分自定義鏡像部分安裝工具安裝工具工具官方下載工具解壓工具到查看版本初始化目錄結構初始化目錄結構筆者是在目錄下開始操作的,提前說下免得讀者操作有誤。修改修改腳本只作啟動功能,為了方便傳調優參數,定制了環境變量供使用。 本文目標 由于 OpenShift 官方提供的鏡像與模板(OpenJDK8)不完全滿足業務需要: 不包含飛行記錄功能。只有 OpenJD...

    graf 評論0 收藏0
  • 如何用Rancher在AWS上運行Kubernetes

    摘要:環境部署第一步,我會按默認的向導創建一個新的虛擬私有云,這個虛擬私有云是為準備的。的應用程序將自己在內運行。所有的主機都可以使用公有的,可如果你是在虛擬私有云上有主機的話,這就有點麻煩了,所以你可以選擇使用私有而非公有。 眾所周知,亞馬遜有EC2容器服務,它是亞馬遜用于運行Docker容器的解決方案。不過我覺得EC2容器服務不怎么好用,所以現在我要在AWS上測試Rancher和Kube...

    shinezejian 評論0 收藏0
  • 如何用Rancher在AWS上運行Kubernetes

    摘要:環境部署第一步,我會按默認的向導創建一個新的虛擬私有云,這個虛擬私有云是為準備的。的應用程序將自己在內運行。所有的主機都可以使用公有的,可如果你是在虛擬私有云上有主機的話,這就有點麻煩了,所以你可以選擇使用私有而非公有。 眾所周知,亞馬遜有EC2容器服務,它是亞馬遜用于運行Docker容器的解決方案。不過我覺得EC2容器服務不怎么好用,所以現在我要在AWS上測試Rancher和Kube...

    williamwen1986 評論0 收藏0
  • k8s審計-- 將clickhouse增加 heapster sink

    摘要:前言在資源審計和計費這塊,容器和虛機有很大區別。支持諸多輸出,稱為。所以本文主要講如何為增加。實際上,基于增加并且更改,也可以做到,只不過需要裝一些包指令,結果就是鏡像變大。實際運行日志截圖由于的出色的寫入性能,運行非常穩定。 前言 在k8s資源審計和計費這塊,容器和虛機有很大區別。相對虛機來講,容器不容易實現。資源指標收集可以采用heapster,也可以用prometheus。之前文...

    tunny 評論0 收藏0

發表評論

0條評論

chanjarster

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<