第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: helloYAML ファイルを適用します。以下のコマンドを実行します。
oc apply -f manifestwork.yaml次のコマンドを実行して、Kubernetes クラスターのマルチクラスターエンジンから
ManifestWorkのステータスを確認します。oc get manifestwork -n ${CLUSTER_NAME} hello-work -o yamlマネージドクラスターにログインして、結果を表示します。以下のコマンドを使用します。
oc loginKubernetes クラスター用のマルチクラスターエンジンで作成したデプロイを表示します。
$ 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!