前提条件Postgres Operator は Kubernetes (K8s) フレームワーク用に設計されているため、最初にこれをセットアップします。ローカルテストの場合は、次のいずれかのソリューションを使用することをお勧めします。
https://github.com/kubernetes/minikube/releases
https://kind.sigs.k8s.io/ 出典: k3d.io K8s インフラストラクチャと対話するには、CLI ランタイム kubectl をインストールします。 https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-via-curl このクイックスタートでは、minikube をすでに起動しているか、ローカルの種類のクラスターを作成していることを前提としています。なお、Docker Desktop for Mac に組み込まれている K8s サポートを使用してこのチュートリアルに従うこともできます。 Docker に K8s サポートを組み込むには、minikube start と minikube delete を開始アクションに置き換える必要があります。 設定オプションPostgres Operator は、新しい Postgres クラスターをデプロイする前にのみ構成できます。これは、ConfigMap またはカスタム OperatorConfiguration オブジェクトを介して 2 つの方法で機能します。設定の詳細については、こちらをご覧ください。
展開オプションPostgres Operator は次の方法でデプロイできます。
Kubernetes での手動デプロイメント設定Postgres Operator をインストールするには、yaml マニフェストを適用するだけです。 /manifests ディレクトリは例としてのみ提供されていることに注意してください。マニフェストを K8s 環境 (名前空間など) に適合させることを検討する必要があります。 # まず、リポジトリをクローンしてディレクトリに移動します 上記のリソース (CRD を除く) を組み合わせた Kustomization マニフェストがあり、以下に示すように kubectl 1.14 以降で使用できます。
kubectl apply -k github.com/zalando/postgres-operator/manifests 便宜上、run_operator_locally スクリプトを使用して、minikube 経由でオペレーターを自動的に起動します。酸最小クラスターを適用します。リスト。
./run_operator_locally.sh OpenShift での手動デプロイメント設定OpenShift に Postgres Operator をインストールするには、構成パラメータ kubernetes_use_configmaps を「true」に変更する必要があります。そうしないと、オペレーターと Patroni は、OpenShift でサポートされていないエンドポイントにリーダー キーと構成キーを保存します。これには、postgres-operator および postgres-pod クラスター ロールに対して若干異なるルール セットも必要です。 oc create -f マニフェスト/オペレーターサービスアカウントrbac-openshift.yaml ヘルムチャートあるいは、提供されている Helm チャートを使用してオペレーターをインストールすることで、手動の手順を省くことができます。このリポジトリをクローンし、ディレクトリをリポジトリのルートに変更します。 Helm v3 がインストールされていれば、以下を実行できるはずです:
postgres-operator を helm でインストールします。 このチャートは、Helm 2 と Helm 3 の両方で機能します。v3 を使用する場合、v2 の crd-install フックはスキップされ、警告が発行されます。 Helm 2 を使用してアプリケーションをインストールするためのドキュメントは、v2 ドキュメントにあります。
このチャートは次の場所でもホストされています:
Postgres Operatorが実行中かどうかを確認するオペレータの起動には数秒かかる場合があります。 Postgres クラスター マニフェストを適用する前に、オペレーター ポッドが実行されていることを確認します。 # yamlマニフェストを使用してオペレーターを作成した場合 オペレーターが実行状態にならない場合は、kubectl describe を使用して、デプロイメントまたはポッドの最新の K8s イベントを確認するか、オペレーターのログを確認します。 kubectl は "$(kubectl get pod -l name=postgres-operator" をログに記録します オペレーターUIを展開する次の段落では、kubectl を使用してコマンドラインから PostgreSQL クラスターにアクセスして管理する方法について説明します。ただし、ブラウザベースの Postgres Operator UI を通じて実行することもできます。 UI をデプロイする前に、オペレーターが実行されており、その REST API が K8s サービスを通じてアクセスできることを確認してください。この API の URL は、UI のデプロイメント マニフェストで構成する必要があります。
UI をデプロイするには、すべてのマニフェスト ファイルを適用するか、UI Helm チャートを使用します。 # 手動展開 オペレーターと同様に、UI ポッドが実行状態にあるかどうかを確認します。 # yamlマニフェストを使用してオペレーターを作成した場合 これで、UI ポッドをポート転送し (ラベル セレクターに注意)、ブラウザーに localhost:8081 と入力することで、Web インターフェイスにアクセスできるようになります。 kubectl ポート転送 svc/postgres-operator-ui 8081:80 利用可能なオプションについては、UI ドキュメントで詳しく説明されています。 https://postgres-operator.readthedocs.io/en/latest/operator-ui/ Postgresクラスタを作成するオペレーター ポッドが実行中の場合、postgresql リソースに関する新しいイベントをリッスンします。ここで、最初の Postgres クラスター マニフェストを送信します。 # Postgres クラスターを作成する クラスター マニフェストが送信され、検証されると、オペレーターはサービス リソースとエンドポイント リソースを作成し、マニフェストで指定されたインスタンスの数に応じて新しいポッドを起動する StatefulSet を作成します。すべてのリソースはクラスターのように名前が付けられます。データベース ポッドは、-0 から始まる数値サフィックスによって識別できます。 Zalando の Spilo コンテナ イメージを実行します。サービスとエンドポイントに関しては、マスター ポッド用に 1 つ、すべてのレプリカ用に 1 つ (-repl サフィックス) あります。すべてのコンポーネントが表示されているかどうかを確認します。タグ application=spilo でフィルタリングし、タグ spilo-role を一覧表示して、現在マスターとなっているユーザーを確認します。 # デプロイされたクラスターを確認する psql経由でPostgresクラスタに接続するデータベース ポッドでポート転送を作成して、Postgres に接続できます。手順についてはユーザーガイドを参照してください。 minikube を使用すると、マスター ポッドを指す K8s サービスから接続文字列を取得することも簡単です。 HOST_PORT=$(minikube サービス acid-minimal-cluster --url | sed 's,.*/,,') をエクスポートします。 クラスターで作成された K8s シークレットからパスワードを取得します。暗号化されていない接続はデフォルトで拒否されるため、SSL モードを次のように設定する必要があります。 PGPASSWORD=$(kubectl get secret postgres.acid-minimal-cluster.credentials -o 'jsonpath={.data.password}' | base64 -d) をエクスポートします。 Postgres クラスタの削除Postgres クラスターを削除するには、postgresql カスタム リソースを削除するだけです。 kubectl 削除 postgresql 酸最小限のクラスター これにより、関連付けられている StatefulSet、データベース ポッド、サービス、およびエンドポイントが削除されます。 PersistentVolume が解放され、PodDisruptionBudget が削除されます。ただし、シークレットは削除されず、バックアップはそのまま残ります。 クラスターがまだ起動中またはその段階で停止しているときにクラスターを削除すると、postgresql リソースが削除され、孤立したコンポーネントが残る可能性があります。これにより、新しい Postgres クラスターを作成するときに問題が発生する可能性があります。新規セットアップの場合は、ローカルの minikube または kind クラスターを削除して最初からやり直すことができます。 https://github.com/zalando/postgres-operator/issues/551 |
<<: 分散クラウドコンピューティングとデータガバナンスの詳細な説明
>>: デロイトは、企業の着実かつ急速な成長を支援するために、Amazon Web Services をベースにしたセキュリティ オペレーション センターを構築しました。
2013年2月19日、Baiduのアルゴリズムが再び調整されました。Baiduのウェブ検索不正対策チ...
今年の第一四半期が終了しました。この特別な時期に、メディアの商業市場全体はどのような発展傾向を示して...
ウェブサイトマーケティングのための鋭い剣を作る:ブログマーケティング今日では、ブログ マーケティング...
PTC (NASDAQ: PTC) は本日、エンジニアが革新的な設計機能と製造機能を単一の環境で活用...
Liteserver は非常に信頼性の高いオランダの VPS 会社です。主な製品は、オランダのアムス...
intovps についてあまり詳しくない人もいるようですが、実際ブロガーも知りません。intovps...
10月14日、中国科学技術協会社会サービスセンターの支援を受けて、「クラウドコンピューティングエコシ...
市場調査会社eMarketerは最近、2018年に電子商取引の成長が最も速い世界トップ10カ国のうち...
馬華クラウドは、国慶節の休暇中にスーパープロモーションを実施します:(1)香港クラウドサーバー(CN...
最近、IBM中国研究所(IBM CRL)が全面閉鎖されたとネット上で報じられた。この噂に応えて、IB...
Web テクノロジー CSS のフォント属性の省略スキル。省略は、コードを削減し、CSS を最適化し...
現在、モバイルプログラマティック広告は爆発的な成長を遂げており、さまざまな業界の広告主の予算は徐々に...
9月11日、2020テンセントグローバルデジタルエコシステムカンファレンス高速インテリジェントコンピ...
[要約] ビ・シェン氏は、海外で休暇中であり、ルタオは通常通り営業しているが、売却も検討していると述...
どのようなウェブサイトであっても、高品質なウェブサイトコンテンツ(独自サービス)システムを定期的に作...