[解決済み] Kubernetes ControllerとKubernetes Operatorの違いは何ですか?
質問
Kubernetes Controllerの目的は、現在の状態が目的の状態と同じであることを確認することだと理解しています。それでも、Kubernetes Operatorは同じ仕事をします。
Control-planeにあるControllerの一覧です。
- デプロイメント
- レプリカセット
- ステートフルセット
- デーモンセット
- その他
Googleで検索したところ、K8s Operatorには以下のようなものがあることがわかりました。
- etcd オペレータ
- Prometheusオペレータ
- コング・オペレーター
しかし、なぜControllerを使うとできないのかが理解できなかったのですが?
OperatorはControllerを補完しているのでしょうか?
この2つのデザインの目的、機能としての違いは何でしょうか。
ControllerとOperatorのどちらを選ぶべきか、注意すべき点は何でしょうか??
どのように解決するのですか?
kubernetes operator"という用語は、以下の方が紹介されていたと思います。 このCoreOSの人たち
Operatorは、Kubernetes APIを拡張し、Kubernetesユーザーに代わって複雑なステートフルアプリケーションのインスタンスを作成、設定、管理するアプリケーション固有のコントローラです。基本的なKubernetesリソースとコントローラの概念に基づいて構築されますが、ドメインまたはアプリケーション固有の知識も含まれており、コンピュータによってよりよく管理される一般的なタスクを自動化します。
つまり、基本的に kubernetes operator は、Prometheus や etcd などのアプリケーションを設定および管理するために、Kubernetes API に新しいオブジェクトを追加する kubernetes コントローラで構成されるパターンの名前なのです。
一文で言うと オペレーターとは、ドメイン固有のコントローラーのことです。
更新
現在 Github に新しいディスカッションがあります。 に新しい議論があり、同じブログ投稿にリンクしています。ディスカッションの関連する部分は以下のとおりです。
すべてのOperatorはコントローラパターンを使用しますが、すべてのコントローラがOperatorであるわけではありません。コントローラパターン + API拡張 + 単一アプリフォーカス]を備えている場合のみ、Operatorです。
Operatorは、CRDを使用して実装されたカスタマイズされたコントローラです。組み込みコントローラと同じパターン(例: watch, diff, action)に従います。
更新2
私が見つけたのは 新しいブログ記事 を見つけ、その違いも説明しようとしています。
関連
-
[解決済み] Docker ComposeとKubernetesの違いとは?
-
[解決済み] ApacheのMesosとGoogleのKubernetesの違いとは?
-
[解決済み] KubernetesのClusterIP、NodePort、LoadBalancerのサービスタイプの違いとは?
-
[解決済み】ポッドとデプロイの違いは何ですか?
-
[解決済み] Kubernetesのポッドを年齢でソートする
-
[解決済み] k8sのConfigMapやSecretを既存のものを削除せずに更新する方法
-
[解決済み] helm list : 名前空間 "kube-system" のconfigmapをリストアップできない。
-
[解決済み] ネームスペースの全リソースをリストアップする
-
[解決済み] Kubernetesです。PersistentVolumeClaim (pvc)を削除できない。
-
[解決済み] Kubernetes Ingressのv1beta1からv1への移行時に「io.k8s.api.networking.v1.IngressBackendのunknown field "serviceName"」というエラーになる。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] CronJobによって作成された完了したKubernetesジョブを自動的に削除する方法とは?
-
[解決済み] k8sのConfigMapやSecretを既存のものを削除せずに更新する方法
-
[解決済み] Kubernetesからすべてのリソースを一度に削除するには?
-
[解決済み] Pod内のコンテナからPod自身のIPアドレスを知るには?
-
[解決済み] バージョン "extensions/v1beta1" の種類 "Deployment" に一致するものはありません。
-
[解決済み] helm list : 名前空間 "kube-system" のconfigmapをリストアップできない。
-
[解決済み] ネームスペースの全リソースをリストアップする
-
[解決済み] Helmチャートで環境変数を取得する方法
-
[解決済み] Kubernetesです。PersistentVolumeClaim (pvc)を削除できない。
-
[解決済み] Kubernetes Ingressのv1beta1からv1への移行時に「io.k8s.api.networking.v1.IngressBackendのunknown field "serviceName"」というエラーになる。