LoginSignup
0
2

More than 5 years have passed since last update.

Azure Kuberenetes Serviceを使う

Last updated at Posted at 2019-03-10

はじめに

諸事情でGKEで動かしていたアプリケーションをAKSに移行しなければなくなったので、やりかたをまとめました。
せっかくなのでACRとも連携させます。

環境:Windows 10 Pro, 64bit

環境準備

  1. VS Codeインストール
    • 別にVS Codeでなくてもいいんだけど、ms製品のほうが相性がよさそうな気がして
    • VS Code
  2. VS Code 拡張機能のインストール
    • [ctrl] + [shift] + [x]でコンテナ開発用の便利な拡張機能をインストール
    • docker
      • cap1.PNG
    • kubernetes
      • cap2.PNG
  3. Azure CLIコマンドのインストール(WSL Ubuntu)
    • Azureサービスをコマンドから実行するためのツールをインストール
$ sudo apt-get install apt-transport-https lsb-release software-properties-common -y
$ AZ_REPO=$(lsb_release -cs)
$ echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | \
    sudo tee /etc/apt/sources.list.d/azure-cli.list
$ curl -OL http://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb`
$ sudo apt update
$ sudo apt install azure-cli

参考:WSLでAzure CLIを試してみる
4. kubectlコマンドのインストール(WSL Ubuntu)
- バイナリをダウンロードして保存して環境変数に追加する

$ sudo apt-get update && sudo apt-get install -y apt-transport-https
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo touch /etc/apt/sources.list.d/kubernetes.list
$ echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee --a /etc/apt/sources.list.d/kubernetes.list
$ sudo apt-get update
$ sudo apt-get install -y kubectl
  • バージョン確認
$ kubectl version

Azure Container Registryを使ったコンテナイメージのビルドと公開

  • ACR名設定
$ ACR_NAME=sampleYuxzuxRepositry
  • ACR名チェック
    • ACR名は世界でユニークじゃないといけないのでチェックする
$ az acr check-name -n $ACR_NAME
  • リソースグループ名設定
$ ACR_RES_GROUP=$ACR_NAME
  • リソースグループ作成
$ az group create --resource-group $ACR_RES_GROUP --location japaneast
  • ACRレジストリ作成
$ az acr create --resource-group $ACR_RES_GROUP --name $ACR_NAME --sku Standard --location japaneast
  • イメージのビルド
$ az acr build --registry $ACR_NAME --image yuxzux:v1.0 .
  • イメージの確認
$ az acr repository show-tags -n $ACR_NAME --repository yuxzux
  • ACR_IDを取得して環境変数に設定
$ ACR_ID=$(az acr show --name $ACR_NAME --query id --output tsv)
  • サービスプリンシパル名の設定
$ SP_NAME="sample-acr-service-principal"
  • サービスプリンシパルの作成
$ SP_PASSWD=$(az ad sp create-for-rbac --name $SP_NAME --role Reader --scopes $ACR_ID --query password --output tsv)
  • サービスプリンシパルのIDをAPP_IDに設定
$ APP_ID=$(az ad sp show --id http://$SP_NAME --query appId --output tsv)
  • 確認
$ echo $APP_ID
$ echo $SP_PASSWD

Azure Kubernetes Serviceを使ったクラスター作成

  • クラスターの作成
$ AKS_CLUSTER_NAME=YuxzuxCluster
  • クラスターを作成するリソースグループの設定
$ AKS_RES_GROUP=$AKS_CLUSTER_NAME
  • リソースグループの作成
$ az group create --resource-group $AKS_RES_GROUP --location japaneast
  • クラスターの作成(Cloud Shell)
$ az aks create \
    --name $AKS_CLUSTER_NAME \
    --resource-group $AKS_RES_GROUP \
    --node-count 3 \
    --node-vm-size Standard_DS1_v2 \
    --generate-ssh-keys \
    --service-principal $APP_ID \
    --client-secret $SP_PASSWD
  • 認証情報の取得
$ az aks get-credentials --admin --resource-group $AKS_RES_GROUP --name $AKS_CLUSTER_NAME

以上。kubectlコマンドでいろいろできます。

0
2
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
0
2