LoginSignup
2
0

More than 1 year has passed since last update.

AKS(Azure Kubernetes Service)とGitLab CI/CDを連携させるときの備忘録

Last updated at Posted at 2022-12-07

概要

  • AKSGitLab CI/CDを連携させたい
  • 今回はUbuntuでセットアップ
  • ローカルでk8sを使用するときはminikubeを使用する

参考

Minikubeを使用してローカル環境でKubernetesを動かす

インストール

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

クラスターをスタート

minikube start

クラスターとのアクセス

※適切なバージョンのkubectlをダウンロード

minikube kubectl -- get po -A

デプロイ

kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080

デプロイができているかの確認

kubectl get services hello-minikube

ブラウザでの確認

kubectl port-forward service/hello-minikube 7080:8080

minikubeクラスターを消すとき

minikube delete --all

Linux に Azure CLI をインストールする(オプション)

インストール プロセスに必要なパッケージを取得

sudo apt-get update
sudo apt-get install ca-certificates curl apt-transport-https lsb-release gnupg

Microsoft の署名キーをダウンロードしてインストール

curl -sL https://packages.microsoft.com/keys/microsoft.asc |
    gpg --dearmor |
    sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null

Azure CLI ソフトウェア リポジトリを追加

※ドキュメント通りに進めると、Malformed entry 1 in list file /etc/apt/sources.list.d/azure-cli.list (Component)というエラーが発生するので以下コマンドに変更

echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ wheezy main" | \
     sudo tee /etc/apt/sources.list.d/azure-cli.list

リポジトリ情報を更新し、azure-cli パッケージをインストール

sudo apt-get update
sudo apt-get install azure-cli

Gitlabにエージェントを登録する

  • Connect a clusterを押下し、名前を入力する(なんでもOK)
  • access token が発行されるので保存しておく
    image.png
  • 以下のようなコマンドが発行されるのでコピーしておく
helm repo add gitlab https://charts.gitlab.io
helm repo update
helm upgrade --install test-agent gitlab/gitlab-agent \
    --namespace gitlab-agent-test-agent \
    --create-namespace \
    --set image.tag=v15.7.0-rc1 \
    --set config.token=dtsVBzNXXNibasVA8xq8_4mZkxdU1MLxicMnqZ5ZA7JEHYvMsw \
    --set config.kasAddress=wss://kas.gitlab.com

クラスターにエージェントを登録する

  • helmをインストールする
  • ターミナルを開く
  • 先ほどコピーしたコマンドを実行する
NAME: test-agent
LAST DEPLOYED: Wed Dec  7 17:23:31 2022
NAMESPACE: gitlab-agent-test-agent
STATUS: deployed
REVISION: 1
TEST SUITE: None

.gitlab-ci.yml ファイルの編集

deploy:
  image:
    name: bitnami/kubectl:latest
    entrypoint: ['']
  script:
    - kubectl config get-contexts
    - kubectl config use-context path/to/agent/repository:agent-name
    - kubectl get pods

※今回はminikubeを使用

デプロイ完了

image.png

Troubleshooting

minikube startできないとき。。。
以下を試す。

$ minikube stop
$ minikube delete
$ rm -rf ~/.minikube
$ minikube start
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0