1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AKSのClusterのアップグレードの人柱になってみた

Posted at

今回はAKS(Azure Kubernetes Service)のクラスタアップグレードに関してです。
やること自体は多くはないのですが、クラスタアップグレードしたら壊れましたけど何か?的なお話も聞いたので
ちょっと怖いなーと思っている方のために、こんな感じですよという参考になれば。

現在のバージョンの確認

まずは現在のクラスタのバージョンを取得します。
今回は例としてリソースグループがRG-TOMATO-CLUSTER、クラスタ名がTOMATO-CL USTERとしています。

$ az aks show  --resource-group RG-TOMATO-CLUSTER --name TOMATO-CLUSTER --output table

Name             Location    ResourceGroup           KubernetesVersion    ProvisioningState    Fqdn
---------------  ----------  ----------------------  -------------------  -------------------  -------------------------------------------------------------------
TOMATO-CLUSTER   japaneast   RG-TOMATO-CLUSTER       1.15.5               Succeeded            xxxx.hcp.japaneast.azmk8s.io

アップグレード可能バージョンの取得

現在のバージョンからアップグレード可能なバージョンを表示します。

注意点として、マイナーバージョンを飛ばしてアップグレードすることはできません。
例えば1.15からアップグレード可能なのは1.15もしくは1.16のみであり
1.17にアップグレードしたい場合は、一度1.16を経由する必要があります。

$ az aks get-upgrades --resource-group RG-TOMATO-CLUSTER --name TOMATO-CLUSTER --output yaml

controlPlaneProfile:
  kubernetesVersion: 1.15.5
  name: null
  osType: Linux
  upgrades:
  - isPreview: null
    kubernetesVersion: 1.15.11
  - isPreview: null
    kubernetesVersion: 1.16.8
  - isPreview: null
    kubernetesVersion: 1.15.10
  - isPreview: null
    kubernetesVersion: 1.16.9

この辺りは割とこまめに変更されるようなので、アップグレード実施前に確認しておきましょう。

いざアップグレード

いよいよアップグレードです。
たかが1コマンドされど1コマンド。Enterを押す指がプルプルします。
プルプルを通り越して揺れてます!とても揺れている!震度6だ!
こういう時にEnterを勢いよく押す派、静かに押す派、あなたはどちらの派閥でしょう?
私は超サイレント派です。

$az aks upgrade --resource-group RG-TOMATO-CLUSTER --name TOMATO-CLUSTER  --kubernetes-version 1.16.9

The behavior of this command has been altered by the following extension: aks-preview
Kubernetes may be unavailable during cluster upgrades.
Are you sure you want to perform this operation? (y/n): y
Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.16.9. Continue? (y/N): y
Starting ..
Running ..

本当にやります?え、まじでやるんですか?的な感じで2回聞かれます。
大事なことは2回言う文化は各国共通なのでしょうか。

断固とした気持ちでyを2回押下すると、Running ..と表示されます。
どうやら動き出した模様。
もう後戻りはできません。楽しかった1.15との思い出が走馬灯のように浮かびます..

30分ほど待つ..

今回は3nodeだったので30分程で完了しました。だいたい1nodeにつき10分くらいのようです。
たまたまカップラーメンを10個作る予定があったので、ちょうど良い時間でした!ではいただきます!

Finished ..
DnsPrefix                           EnablePodSecurityPolicy    EnableRbac    Fqdn                                 KubernetesVersion    Location    MaxAgentPools    Name             NodeResourceGroup                                    ProvisioningState    ResourceGroup
----------------------------------  -------------------------  ------------  -----------------------------------  -------------------  ----------  ---------------  ---------------  ---------------------------------------------------  -------------------  ----------------------
TOMATO-CLUS-4b4e88                  False                      True          xxxx.hcp.japaneast.azmk8s.io         1.16.9               japaneast   10               TOMATO-CLUSTER   RG-TOMATO-CLUSTER_japaneast                          Succeeded            RG-TOMATO-CLUSTER

実際にやってみるとかなりスムーズに行きました。あっさり塩味ですね。
ちなみにclusterのアップグレード自体もローリングで行なっているようですが
公式には特に記載がないので、ダウンタイムは発生するものと思っておいたほうが良さそうです。

ではまた🙋‍♂️

さいごに

ZEROBILLBANKでは一緒に働く仲間を募集中です。
なんとかjsとか、ブロックチェーンとか、kubernetesとかでいろんなAPIを作るお仕事。
今のところエンジニアは5人くらい。スタートアップだけど、結構ホワイトで働きやすいです。

ZEROBILLBANK JAPAN Inc.

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?