Bitbucket Cloud の使用を開始する
Bitbucket Cloud を初めてお使いですか? 新規ユーザー用のガイドをご利用ください。
ここでは、aws-eks-kubectl-run パイプと Bitbucket Pipelines を使用して、AWS Elastic Kubernetes Service (EKS) クラスタにアプリケーションをデプロイする方法について説明します。
Bitbucket Pipelines を使用して、Docker イメージを作成し、コンテナ レジストリ (Docker Hub) にプッシュします。また、Kubernetes へのデプロイを自動化する設定の方法についても説明します。
aws-eks-kubectl-run パイプを使用してアプリケーションをデプロイするには、以下が必要です。
アプリケーションへのデプロイや AWS EKS クラスタへの更新のアップロードをパイプに許可するための十分な権限が構成されている IAM ユーザー。
アプリケーションに合わせて構成されている AWS EKS クラスタ: 「eksctl の開始方法」
ワーカー ノード グループが構成済みであること。AWS の簡単なチュートリアルをご確認ください: 「Amazon EKS ワーカー ノード IAM ロールの作成」
イメージのプッシュおよびプルが可能な DockerHub アカウント。
1. Bitbucket リポジトリを構成します。
2. Bitbucket の資格情報と構成設定を変数として追加します。「Pipelines 変数の設定方法」を参照してください。
変数名 | 値 |
---|---|
DOCKERHUB_USERNAME | Dockerhub ユーザー名 |
DOCKERHUB_PASSWORD | DockerHub パスワード |
AWS_ACCESS_KEY_ID | AWS アクセス キー |
AWS_SECRET_ACCESS_KEY | AWS 秘密アクセス キー。セキュアな変数として保存されている必要があります。 |
AWS_DEFAULT_REGION | AWS リソースを含むリージョンの AWS リージョン コード (us-east-1、us-west-2 など)。詳細については「リージョンとエンドポイント」を確認してください。 |
3. bitbucket-pipelines.yml ファイルを編集して、CI/CD 構成をセットアップします
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
image: atlassian/default-image:2
pipelines:
default:
- step:
name: "Build and push"
services:
- docker
script:
- IMAGE="bitbucketpipelines/hello-app-eks"
- VERSION="${BITBUCKET_BUILD_NUMBER}"
- echo ${DOCKERHUB_PASSWORD} | docker login --username "${DOCKERHUB_USERNAME}" --password-stdin
- docker build -t ${IMAGE} .
- docker tag ${IMAGE} ${IMAGE}:${VERSION}
- docker push ${IMAGE}
- step:
name: "Deploy to PROD"
deployment: production
script:
- envsubst < helloweb-deployment.tpl.yaml > helloweb-deployment.yaml
- pipe: atlassian/aws-eks-kubectl-run:1.2.0
variables:
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
AWS_DEFAULT_REGION: "us-east-2"
CLUSTER_NAME: "hello-cluster"
KUBECTL_COMMAND: "apply"
RESOURCE_PATH: "helloweb-deployment.yaml"
DEBUG: "true"
この構成では、イメージを作成して Docker Hub にプッシュし、Kubernetes へのデプロイを自動化するために aws-eks-kubectl-run パイプでデプロイを使用することができます。「Bitbucket Pipelines 設定を編集および設定する方法」の詳細をご覧ください。
4. アプリケーションを本番環境にデプロイします。アプリケーションのコードを Bitbucket リポジトリにプッシュし、それによってパイプラインをトリガーします。[Pipelines] を選択してパイプラインの進行状況をチェックし、アプリケーションが正常にデプロイされたことを確認できます。
aws-eks-kubectl-run パイプをほかのパイプと併用して、CI/CD パイプラインを作成することができます。
このサンプル リポジトリで、完全なエンドツーエンドのサンプルを利用でき、パイプラインやパイプを使用して AWS EKS をデプロイする方法について詳細を確認できます。
この内容はお役に立ちましたか?