第10章 ManifestWork を使用したワークロードの展開
Kubernetes クラスターのマルチクラスターエンジンからマネージドクラスターにワークロードをデプロイできます。例:Kubernetes クラスターのマルチクラスターエンジンからマネージドクラスターに基本的なデプロイを作成するには、ManifestWork
を使用した次のサンプルを参照してください。
Kubernetes クラスターのマルチクラスターエンジンにログインします。
oc login
次の例のように、YAML ファイルを作成して
ManifestWork
リソースを設定します。CLUSTER_NAME
を クラスターのインポート ドキュメントでインポートしたマネージドクラスターの名前に置き換えます。サンプルの YAML は、ファイルを適用すると、マネージドクラスターのdefault
の namespace にデプロイされます。apiVersion: work.open-cluster-management.io/v1 kind: ManifestWork metadata: name: hello-work namespace: ${CLUSTER_NAME} labels: app: hello spec: workload: manifests: - apiVersion: apps/v1 kind: Deployment metadata: name: hello namespace: default spec: selector: matchLabels: app: hello template: metadata: labels: app: hello spec: containers: - name: hello image: quay.io/asmacdo/busybox command: ['/bin/sh', '-c', 'echo "Hello, Kubernetes!" && sleep 300'] - apiVersion: v1 kind: Service metadata: labels: app: hello name: hello namespace: default spec: ports: - port: 8000 protocol: TCP targetPort: 8000 selector: app: hello
YAML ファイルを適用します。以下のコマンドを実行します。
oc apply -f manifestwork.yaml
次のコマンドを実行して、Kubernetes クラスターのマルチクラスターエンジンから
ManifestWork
のステータスを確認します。oc get manifestwork -n ${CLUSTER_NAME} hello-work -o yaml
マネージドクラスターにログインして、結果を表示します。以下のコマンドを使用します。
oc login
Kubernetes クラスター用のマルチクラスターエンジンで作成したデプロイを表示します。
$ oc get deploy -n default NAME READY UP-TO-DATE AVAILABLE AGE hello 1/1 1 1 37s
次のコマンドを使用して、作成された Pod を表示することもできます。
$ oc get pod NAME READY STATUS RESTARTS AGE hello-65f58985ff-4rm57 1/1 Running 0 42s
作成された Pod のログを表示すると、次のようなメッセージが表示されます。
$ oc logs hello-65f58985ff-4rm57 Hello, Kubernetes!