本書
リンク:https://www.shoeisha.co.jp/book/detail/9784798157849
読み始めたばかりですが、丁寧でいい本です
この記事では手を動かしてハマったところをまとめておきます。
イメージビルドで早速詰まった話
本書を読みながら、ふんふんとまずはサンプルをビルドしようとした.
本書のネタバレにならないようにサンプルプロジェクトをクローンして、プロジェクトディレクトリに入り、
az acr build --registry $ACR_NAME --image photo-view:v1.0 v1.0/
結構こんもり目にエラーでます
ふんふんと「cffi_backend」がなさそう
とおもむろにググると
先人はちゃんとissueに上げるもんなのですな。
と、同様のエラーが発生しているので、
python3 -m pip install cffi
とおもむろに入れると治りました。というクソどうでもいい話でした
クラスタ作成で詰まった話
さきほどのやつを乗り越えふんふんと進んでいくと次はクラスタの作成
az aks create \
--name $AKS_CLUSTER_NAME \
--resource-group $AKS_RES_GROUP \
--node-count 3 \
--kubernetes-version 1.11.4 \
--node-vm-size Standard_DS1_v2 \
--generate-ssh-keys \
--service-principal $APP_ID \
--client-secret $SP_PASSWD
このコマンドでStandard_DS1_v2を3台のノードで立ち上げるということで、コマンドを実行すると、
とまたも詰まる。
調べると、どうやらazureのkubernetesのバージョンが上がっているので、このバージョンはサポートされていない模様。
Updated kubertenes version as 1.11.4 is not supported. #189
1.11.4はもうサポートされないとのこと。
じゃあ、どうやってしらべるのっていう話ですが、
az aks get-versions --location eastus --output table
ためしに1.11.8でやると動きました。
同じ現象が起きた方はこのコマンド打つと吉
クラスタ接続のための認証情報の設定
az aks get-credentials --adomin --resource-group $AKS_RES_GROUP --name $AKS_CLUSTER_NAME
で認証の情報の設定ができるのですが、
az: error: unrecognized arguments: --adomin
adomin -> admin
で動きました
また随時更新します
認証設定(二回目以降)で詰まったところ
azureはクラスターが可動している間や、ACRレジストリにコンテナをおいている間に課金が発生するので、
az group delete --name $ACR_RES_GROUP
az group delete --name $AKS_RES_GROUP
az ad sp delete --id=$(az ad sp show --id http://$SP_NAME --query appId --output tsv)
でレジストリグループやクラスタをその都度落とすといいという話ですが、
二回目以降クラスタを構築し、認証設定を行おうとすると以下のエラーになります。
「すでに登録されているクラスタです」
この状態だと kubectl get pod
すらたたけないです。
解決方法は、issueにも乗っていますが、
az aks get-credentials --adomin --resource-group $AKS_RES_GROUP --name $AKS_CLUSTER_NAME --overwrite-existing
「--overwrite-existing」
のオプションを付けると大丈夫です。