亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

K8S?Operator部署及自定義詳解

 更新時(shí)間:2023年04月27日 11:12:02   作者:不背鍋運(yùn)維  
這篇文章主要為大家介紹了K8S?Operator部署及自定義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Kubernetes Operator是什么

K8S Operator這個(gè)東西不好解釋?zhuān)@么說(shuō)吧,比如有一個(gè)應(yīng)用程序,并且想要將其部署到 k8s 上,并且希望能夠?qū)崿F(xiàn)自動(dòng)化運(yùn)維和可擴(kuò)展性,那么就可以考慮使用 K8S Operator 的框架,將應(yīng)用程序的管理邏輯抽象為 k8s 資源,并編寫(xiě)自定義 Operator 來(lái)管理和運(yùn)維該應(yīng)用程序。

還是有點(diǎn)懵?我舉個(gè)例子:有一個(gè)基于 Kafka 的消息隊(duì)列應(yīng)用程序,想將其部署到 k8s 并實(shí)現(xiàn)自動(dòng)化運(yùn)維和可擴(kuò)展性,就可以使用 Kubernetes Operator 的框架來(lái)管理和運(yùn)維該應(yīng)用程序了。

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

分析之前部署過(guò)的Prometheus Operator

官方文檔:prometheus-operator.dev/

  • 查看Api Resources,發(fā)現(xiàn)prometheus被定義為了 Kubernetes API 中的一個(gè)自定義資源:
[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 實(shí)例的自定義資源類(lèi)型:
[root@k8s-a-master prometheus-operator]# kubectl get prometheus
NAME         VERSION   DESIRED   READY   RECONCILED   AVAILABLE   AGE
prometheus             3         3       True         True        54s

下面的yaml文件是我之前用來(lái)創(chuàng)建prometheus實(shí)例的,通過(guò)它可以自動(dòng)創(chuàng)建、更新和刪除 Prometheus 實(shí)例:

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 用于創(chuàng)建 Prometheus 實(shí)例的 Kubernetes 自定義資源類(lèi)型之一。

  • 接下來(lái)看看帶3個(gè)副本的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
  • 小總結(jié)

通過(guò)簡(jiǎn)單分析已經(jīng)很清楚了,Prometheus Operator 是一個(gè) Kubernetes 控制器,它負(fù)責(zé)監(jiān)視 Kubernetes API 中的 Prometheus 資源(包括 kind: Prometheus)的變化,并根據(jù)資源定義來(lái)管理 Prometheus 實(shí)例。Prometheus Operator 可以根據(jù) Prometheus 自定義資源中定義的規(guī)則來(lái)創(chuàng)建、更新和刪除 Prometheus 實(shí)例,并且支持自動(dòng)發(fā)現(xiàn)和配置 Prometheus 監(jiān)控對(duì)象,如 Kubernetes Service、Pod 等。

因此,可以將 Prometheus Operator 看作是一種控制器,它通過(guò)管理 Kubernetes API 中的 Prometheus 自定義資源,來(lái)實(shí)現(xiàn)Prometheus 實(shí)例的自動(dòng)化部署和管理。

關(guān)于開(kāi)發(fā)自定義的Operator

我很想分享一個(gè)開(kāi)發(fā)自定義Operator的案例,但我現(xiàn)在能力有限,不能很快的給大家分享。當(dāng)然了,我也在不斷的摸索、學(xué)習(xí)。爭(zhēng)取下次分享出來(lái)。

如果想要開(kāi)發(fā)自己的 Operator,這個(gè)事情還是有一定難度的,至少需要做好以下技能的儲(chǔ)備:

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

關(guān)于提到Go語(yǔ)言,其實(shí)我一直都在建議運(yùn)維工程師要把Go學(xué)好,如果想要在云原生運(yùn)維領(lǐng)域深扎、做到高級(jí),不懂Go是不行的,這就是我為什么會(huì)偶爾都要分享一下Go的知識(shí)。

以上就是K8S Operator部署及自定義詳解的詳細(xì)內(nèi)容,更多關(guān)于K8S Operator部署的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • k8s編排之Deployment知識(shí)點(diǎn)詳解

    k8s編排之Deployment知識(shí)點(diǎn)詳解

    這篇文章主要為大家介紹了k8s編排之Deployment知識(shí)點(diǎn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 關(guān)于CentOS7日志文件及journalctl日志查看方法

    關(guān)于CentOS7日志文件及journalctl日志查看方法

    這篇文章主要介紹了關(guān)于CentOS7日志文件及journalctl日志查看方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Istio 自動(dòng)注入 sidecar 失敗導(dǎo)致無(wú)法訪問(wèn)webhook服務(wù)的解決方法

    Istio 自動(dòng)注入 sidecar 失敗導(dǎo)致無(wú)法訪問(wèn)webhook服務(wù)的解決方法

    最近工作中在部署Istio環(huán)境的過(guò)程中發(fā)現(xiàn)官方示例啟動(dòng)的pod不能訪問(wèn)不到Istio的webhook,這個(gè)問(wèn)題也是困擾了我一天,我把他歸類(lèi)到sidecar注入失敗的情況下,本文給大家分享問(wèn)題解決方法,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • k8s自動(dòng)化安裝腳本(二進(jìn)制)的操作步驟

    k8s自動(dòng)化安裝腳本(二進(jìn)制)的操作步驟

    Kubernetes?k8s安裝腳本,非常好用,下面這篇文章主要給大家介紹了關(guān)于k8s自動(dòng)化安裝腳本(二進(jìn)制)的操作步驟,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • kubernetes?Volume存儲(chǔ)卷configMap學(xué)習(xí)筆記

    kubernetes?Volume存儲(chǔ)卷configMap學(xué)習(xí)筆記

    這篇文章主要為大家介紹了kubernetes?Volume存儲(chǔ)卷configMap學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • K8s-helm簡(jiǎn)介及基本概念詳解

    K8s-helm簡(jiǎn)介及基本概念詳解

    ?Helm?使用的包格式稱(chēng)為?chart,它是一個(gè)描述?Kubernetes?相關(guān)資源對(duì)象的文件集合,這篇文章主要介紹了K8s-helm簡(jiǎn)介及基本概念,需要的朋友可以參考下
    2022-07-07
  • centos7部署k8s集群1.28.2版本完整步驟

    centos7部署k8s集群1.28.2版本完整步驟

    部署Kubernetes集群需要多臺(tái)物理機(jī)或虛擬機(jī),每個(gè)節(jié)點(diǎn)至少需要2個(gè)CPU、2GB內(nèi)存和20GB硬盤(pán)空間,這篇文章主要給大家介紹了關(guān)于centos7部署k8s集群1.28.2版本的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • helmfile聲明式部署Helm?Chart使用詳解

    helmfile聲明式部署Helm?Chart使用詳解

    這篇文章主要為大家介紹了helmfile聲明式部署Helm?Chart使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 阿里云oss對(duì)象存儲(chǔ)使用詳細(xì)步驟

    阿里云oss對(duì)象存儲(chǔ)使用詳細(xì)步驟

    本文主要介紹了阿里云oss對(duì)象存儲(chǔ)使用詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 一文講解如何獲取k8s容器里運(yùn)行的jar包

    一文講解如何獲取k8s容器里運(yùn)行的jar包

    K8S是Google開(kāi)源的容器集群管理系統(tǒng),其設(shè)計(jì)目標(biāo)是在主機(jī)集群之間提供一個(gè)能夠自動(dòng)化部署、可拓展、應(yīng)用容器可運(yùn)營(yíng)的平臺(tái),這篇文章主要給大家介紹了關(guān)于如何獲取k8s容器里運(yùn)行的jar包的相關(guān)資料,需要的朋友可以參考下
    2022-09-09

最新評(píng)論