Iron Bank#

EDB CloudNativePG Cluster(PG4K)は Iron Bank で利用できます。 overview page で読めるように

Iron Bankは、国防総省の強化コンテナのソースです。 > > […中略…] >> Iron Bankは最終的には誰でも消費または貢献できます。ただし、特に次のペルソナをターゲットとしています。 > > - 強化されたコンテナと各コンテナのアイアンバンクBoE証拠本文を使用したい国防総省組織 > - コンテナへのコントリビューションを支援したい国防総省組織例 バグ修正、新しいアプリケーション、更新) > - アプリケーションに関連するリスクを理解したい国防総省承認職員 > - アプリケーションを国防総省に持ち込みたい商用ベンダー

Iron Bankは、国防総省の Platform One の一部です。

EDB CloudNativePG Cluster のIron Bankページにアクセスするには、Iron Bankの資格情報が必要です。

Iron BankからEDB PG4Kとオペランドイメージをプルする#

画像は別の Iron Bank container registry から取得されます。 Iron Bankレジストリからイメージをプルできるようにするには、 instructions from Iron Bank に従ってください。

具体的には、 registry1 を使用する必要があります

イメージをプルするための資格情報。

目的の演算子またはオペランドイメージを見つけるには、画像に示すように、検索ツールを使用して文字列enterprisedb で検索し、Tags でフィルターしてstable を探すことをお勧めします。そこから、イメージをプルする指示を取得できます。

pulling-ironbank-images

pulling-ironbank-images#

たとえば、IronbankからEPAS16オペランドをプルするには、次のコマンドを実行できます。

docker pull registry1.dso.mil/ironbank/enterprisedb/edb-postgres-advanced-16:16

より具体的なタグを選択するか、特定のSHAを使用する場合は、 Harbor page からそれを見つける必要があります。

Iron Bankイメージを使用したPG4Kオペレーターのインストール#

インストールするには、Iron Bankイメージをポイントする展開マニフェストが必要です。 installation instructions for EDB PG4K から展開マニフェストを取得できます。たとえば、1.22.0リリースの場合、マニフェストはhttps://get.enterprisedb.io/cnp/postgresql-operator-1.22.0.yaml で入手できます。 IronBankイメージのイメージパスを設定する必要がある場所がいくつかあります。

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: cloud-native-postgresql
  name: postgresql-operator-controller-manager
  namespace: postgresql-operator-system
spec:
  [… snipped …]
  template:
    metadata:
      labels:
        app.kubernetes.io/name: cloud-native-postgresql
    spec:
      containers:
      - args:
        - controller
          [… snipped …]
        env:
        - name: PULL_SECRET_NAME
          value: postgresql-operator-pull-secret
        - name: OPERATOR_IMAGE_NAME
          value: <INSERT-YOUR-OPERATOR-IMAGE>

        [… snipped …]
        image: <INSERT-YOUR-OPERATOR-IMAGE>

オペレーターをIron Bankから直接展開する場合は、上記のように、レジストリへの資格情報を使用してプルシークレットを作成および設定する必要があります。

サイトの手順を使用してIron Bankからイメージを取得し、そこから再タグ付けしてローカルレジストリに公開するか、Kubernetesノードに直接プッシュする方が簡単な場合があります。

これを配置すると、 installation instructions で説明しているように、 kubectl apply -f を使用して通常にマニフェストを適用できます。

IronBankイメージを使用したEPASオペランドを使用したクラスターの展開#

EPAS operand を使用してクラスターを展開するには、 Cluster リソースYAMLでIronbankオペランドイメージを適切に参照する必要があります。たとえば、EPAS 16オペランドを使用してPG4Kクラスターを展開するには

  1. 次の内容を使用してCluster リソースYAMLファイルを作成または編集します。

apiVersion: postgresql.k8s.enterprisedb.io/v1
kind: Cluster
metadata:
  name: cluster-example-full
spec:
  imageName: registry1.dso.mil/ironbank/enterprisedb/edb-postgres-advanced-17:17
  imagePullSecrets:
    - name: my_ironbank_secret
  1. YAMLを適用します。

kubectl apply -f <filename>
  1. リソースのステータスを確認します。

kubectl get clusters