Oracle Managed Kubernetes Clusterへのアプリケーションのデプロイ
コンテナをOracle Container Engine for Kubernetesクラスタにデプロイするには、そのイメージをレジストリにアップロードし、Oracle Container Engine for Kubernetesクラスタへのデプロイメントを示すデプロイメント・マニフェスト・ファイルを作成します。
DockerイメージをOracle Cloud Infrastructure Registryにアップロード
Oracle Cloud Infrastructure Registryは、アプリケーション・イメージを格納できるプライベート・リポジトリです。クラウド・インフラストラクチャがアクセスできる場合は、この目的で任意のレジストリを使用できます。
Oracle Cloud Infrastructure Registryにイメージをアップロードするには、イメージに適切なタグを付けてから、レジストリにアップロードする必要があります。Oracle Cloud Infrastructure Registryにイメージをアップロードするには、イメージをアップロードするOracle Cloud Infrastructure Registryのターゲットの場所への完全修飾パスを指定します(オプションで、リポジトリの名前を含めます)。ここで、タグ名をbuild.gradle
で指定することによって、すでにアップグレード用のDockerプラグインでタグ付けします。
tag = 'data-region.ocir.io/my-tenant/my-repo/omc-sample-app:latest'
イメージをOracle Cloud Infrastructure Registryにアップロードする準備ができたら、Oracle Cloud Infrastructureコンソールにサインインして、Oracle Cloud Infrastructureでアクセス・トークンを設定します。アクセストークンは、Dockerコマンド行インタフェース(CLI)を使用してOracle Cloud Infrastructureにサインインするのに役立ちます。
- Oracle Cloud Infrastructureコンソールで、右上隅にある「ユーザー」メニューをクリックし、「ユーザー設定」をクリックして詳細を表示します。
- 認証トークン・ページで、「トークンの生成」をクリックします。
- 「トークンの生成」ダイアログ・ボックスで、認証トークンのわかりやすい説明を入力し、「トークンの生成」をクリックします。新しい認証トークンが表示されます。
- Oracle Cloud Infrastructureコンソールに再認証トークンが表示されないため、後で取得できるセキュアな場所に認証トークンをコピーします。
- 「トークンの生成」ダイアログ・ボックスを閉じて、Oracle Cloud Infrastructureコンソールを閉じます。
認証トークンを作成したら、Oracle Cloud Infrastructure Registryにイメージをアップロードします。
- 標準のDocker CLIを使用して、Oracle Cloud Infrastructureにサインインします。
docker login data-region.ocir.io
- ユーザー名を書式(
my-tenant/username@example.com
)で入力します。プロンプトが表示されたら、前に保存した認証トークンを入力します。 - Oracle Cloud Infrastructure Registryにイメージをアップロードします。
docker push data-region.ocir.io/my-tenant/my-repo/omc-sample-app
アップロードした後は、リポジトリ内のイメージを表示できます。
Oracle Container Engine for Kubernetes Clusterへのアプリケーションのデプロイ
イメージをアップロードした後、Kubernetesデプロイメント・マニフェストを設定して、アプリケーションをデプロイメント・ユニットとして管理し、Kubernetesクラスタをデプロイする必要があります。
このマニフェストは、作成したイメージに基づいて1つのレプリカを必要とするDeployment
オブジェクトを説明しています。
- 現在のディレクトリに、次のようなマニフェスト・ファイル(
omc-sample-svc.yaml
)を作成します。apiVersion: apps/v1 kind: Deployment metadata: name: omc-sample-app spec: selector: matchLabels: app: omc-sample-app replicas: 1 template: metadata: labels: app: omc-sample-app spec: containers: - name: omc-sample-app image: data-region.ocir.io/my-tenant/my-repo/omc-sample-app:latest ports: - containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: omc-sample-app spec: selector: app: omc-sample-app ports: - protocol: "TCP" port: 8080 targetPort: 8080 type: LoadBalancer
デプロイメントの名前は
omc-sample-app
で、アプリケーション・コンテナが作成されます。デプロイメント全体へのアクセスを有効化するには、サービスを作成します。この場合、タイプはLoadBalancer
です。デプロイすると、Oracle Cloud Infrastructure Load Balancingインスタンスが自動的にプロビジョニングされ、アプリケーションへのトラフィックが管理およびルーティングされます。 - 現在のディレクトリから
kubectl
を実行して、アプリケーション・イメージをデプロイします。kubectl apply -f omc-sample-svc.yaml