オペレーターモード
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