Kubernetesはオペレーターと一緒にプロメテウスをデプロイします

オペレーターモード

Operatorは、カスタムリソース 管理アプリケーションとそのコンポーネントを利用するKubernetesの拡張機能 です。オペレーターは、特にコントローラー に関して、Kubernetesの哲学に従います

オペレーターシナリオは、ステートフルアプリケーション向けに特別に設計されています。

ステートフルアプリ専用なのはなぜですか?

ステートレスアプリケーションはシンプルで、サービス間の相互作用がないため、別の鍋レストランを開き、k8sに同じレストランを開くように指示する必要があります。

ステータスには違いがあります。鍋屋を開いた後、顧客情報を同期する方法は他の鍋屋との交渉が必要です。もちろん、このデータ同期操作を行うための個別のプログラムを作成することもできます。

しかし、オペレーターが行うことは、鍋料理店の顧客情報の非対称性を自動的に認識し、それを自動的に同期することです。別のチェーン鍋料理店を開きたいことをオペレーターに伝えるだけです。

Kubernetesのオペレーター 

Kubernetesは自動化のために生まれました。変更を加えることなく、Kubernetesコアから多くの組み込みの自動化機能を取得できます。あなたは、ワークロードの展開と運用を自動化するKubernetesを使用して、することができ 、さらには Kubernetes自体を自動化します。

Kubernetes コントローラーを 使用すると、Kubernetes自体のコードを変更せずにクラスターの動作を拡張できます。オペレーターはKubernetesAPIのクライアントであり、カスタムリソースの コントローラーとして機能します 

公式ウェブサイトドキュメント:https//kubernetes.io/zh/docs/concepts/extend-kubernetes/operator/

プロメテウスを展開する

1.1、ダウンロード

git clone -b release-0.7 --single-branch https://github.com/coreos/kube-prometheus.git

1.2、インストールオペレーター

[root@k8s-master01 ~]# cd /root/kube-prometheus/manifests/setup
[root@k8s-master01 setup]# kubectl create -f .

# 查看是否Running
[root@k8s-master01 ~]# kubectl get pod -n monitoring
NAME                                   READY   STATUS        RESTARTS   AGE
prometheus-operator-848d669f6d-bz2tc   2/2     Running       0          4m16s

1.3、Prometheusをインストールします

[root@k8s-master01 ~]# cd /root/kube-prometheus/manifests
[root@k8s-master01 manifests]# kubectl create -f .

1.4、入力を作成する

[root@k8s-master01 manifests]# cat svc-ingress.yal 
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: prom-ingresses
  namespace: monitoring
spec:
  rules:
  - host: alert.test.com
    http:
      paths:
      - backend:
          serviceName: alertmanager-main
          servicePort: 9093
        path: /
  - host: grafana.test.com
    http:
      paths:
      - backend:
          serviceName: grafana
          servicePort: 3000
        path: /
  - host: prom.test.com
    http:
      paths:
      - backend:
          serviceName: prometheus-k8s
          servicePort: 9090
        path: /





[root@k8s-master01 manifests]# kubectl get ingress -n monitoring 
NAME             CLASS    HOSTS                                           ADDRESS        PORTS   AGE
prom-ingresses   <none>   alert.test.com,grafana.test.com,prom.test.com   10.96.107.62   80      23h

alert.test.com(アラーム)

prom.test.com(プロメテウス)

grafana.test.com(グラフィック表示)

おすすめ

転載: blog.csdn.net/heian_99/article/details/114953970