日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • Kubernetes Operator是什么
  • 分析之前部署過的Prometheus Operator
  • 關于開發自定義的Operator

Kubernetes Operator是什么

K8S Operator這個東西不好解釋,這么說吧,比如有一個應用程序,并且想要將其部署到 k8s 上,并且希望能夠實現自動化運維和可擴展性,那么就可以考慮使用 K8S Operator 的框架,將應用程序的管理邏輯抽象為 k8s 資源,并編寫自定義 Operator 來管理和運維該應用程序。

還是有點懵?我舉個例子:有一個基于 Kafka 的消息隊列應用程序,想將其部署到 k8s 并實現自動化運維和可擴展性,就可以使用 Kubernetes Operator 的框架來管理和運維該應用程序了。

如果還是有疑問,更多詳情可參考官方文檔:kubernetes.io/zh-cn/docs/…

分析之前部署過的Prometheus Operator

官方文檔:prometheus-operator.dev/

  • 查看Api Resources,發現prometheus被定義為了 Kubernetes API 中的一個自定義資源:
[root@k8s-a-master prometheus-operator]# kubectl api-resources | grep prometheus
prometheusagents                  promagent    monitoring.coreos.com/v1alpha1         true         PrometheusAgent
prometheuses                      prom         monitoring.coreos.com/v1               true         Prometheus
prometheusrules                   promrule     monitoring.coreos.com/v1               true         PrometheusRule
[root@k8s-a-master prometheus-operator]# 
  • 查看用于定義 Prometheus 實例的自定義資源類型:
[root@k8s-a-master prometheus-operator]# kubectl get prometheus
NAME         VERSION   DESIRED   READY   RECONCILED   AVAILABLE   AGE
prometheus             3         3       True         True        54s

下面的yaml文件是我之前用來創建prometheus實例的,通過它可以自動創建、更新和刪除 Prometheus 實例:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: prometheus
spec:
  serviceAccountName: prometheus
  replicas: 3
  alerting:
    alertmanagers:
    - namespace: default
      name: alertmanager-example
      port: web
  serviceMonitorSelector:
    matchLabels:
      team: frontend
  podMonitorSelector:
    matchLabels:
      team: frontend
  resources:
    requests:
      memory: 400Mi
  enableAdminAPI: false
  ruleSelector:
    matchLabels:
      role: alert-rules
      prometheus: example
  ruleNamespaceSelector: {}

上面yaml中 “kind: Prometheus” 是 Prometheus Operator 用于創建 Prometheus 實例的 Kubernetes 自定義資源類型之一。

  • 接下來看看帶3個副本的prometheus pod:
[root@k8s-a-master prometheus-operator]# kubectl get pod
NAME                                   READY   STATUS    RESTARTS   AGE
prometheus-prometheus-0                2/2     Running   0          22s
prometheus-prometheus-1                2/2     Running   0          22s
prometheus-prometheus-2                2/2     Running   0          22s
  • 小總結

通過簡單分析已經很清楚了,Prometheus Operator 是一個 Kubernetes 控制器,它負責監視 Kubernetes API 中的 Prometheus 資源(包括 kind: Prometheus)的變化,并根據資源定義來管理 Prometheus 實例。Prometheus Operator 可以根據 Prometheus 自定義資源中定義的規則來創建、更新和刪除 Prometheus 實例,并且支持自動發現和配置 Prometheus 監控對象,如 Kubernetes Service、Pod 等。

因此,可以將 Prometheus Operator 看作是一種控制器,它通過管理 Kubernetes API 中的 Prometheus 自定義資源,來實現Prometheus 實例的自動化部署和管理。

關于開發自定義的Operator

我很想分享一個開發自定義Operator的案例,但我現在能力有限,不能很快的給大家分享。當然了,我也在不斷的摸索、學習。爭取下次分享出來。

如果想要開發自己的 Operator,這個事情還是有一定難度的,至少需要做好以下技能的儲備:

  • Kubernetes基礎:了解 K8S 的基本概念,包括 Pod、Service、Deployment、StatefulSet、DaemonSet 等等。
  • Go語言:Operator SDK 基于 Go 編寫,因此需要掌握 Go
  • Operator SDK:Operator SDK 是開發 K8S Operator 的開發工具,需要掌握其使用方法。(這一塊我自己還是沒有去看的,需要抽個時間好好看看)
  • Kubernetes API:需要了解 K8S API 的使用方式,可以通過 K8S Go client 來與 K8S API 交互。(關于API的使用套路,前面有分享過,可以翻閱。)

關于提到Go語言,其實我一直都在建議運維工程師要把Go學好,如果想要在云原生運維領域深扎、做到高級,不懂Go是不行的,這就是我為什么會偶爾都要分享一下Go的知識。

以上就是K8S Operator部署及自定義詳解的詳細內容,更多關于K8S Operator部署的資料請關注其它相關文章!

分享到:
標簽:K8S 服務器 自定義 詳解 部署
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定