SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

クラウドネイティブ時代の実践カオスエンジニアリング

Kubernetesクラスターのノードにカオス挿入してみよう~Azure Kubernetes Serviceでカオスエンジニアリング

クラウドネイティブ時代の実践カオスエンジニアリング 第5回

  • このエントリーをはてなブックマークに追加

 前回は、PaaSであるAzure Web Appsを活用したシステムに対するカオス挿入を紹介しました。今回は、Kubernetesクラスターのマネージドサービスである、Azure Kubernetes Serviceへのカオス挿入について説明します。

  • このエントリーをはてなブックマークに追加

はじめに

 Azure Kubernetes Service(AKS)はKubernetesクラスターのマネージドサービスです。今回は、このKubernetesクラスターのノードに対してカオス挿入を行う方法について説明します。なお、Kubernetes上のPodやServiceなどへのカオス挿入については対象外(次回の解説を予定)であることをご了承ください。

 「ノードって?」「Podって?」「Serviceって?」という方は、以下の入門記事などを事前に読んでおきましょう!

Chaos ToolkitによるAKSへのカオス挿入

挿入できるカオス

 AKSに対してChaos Toolkitで挿入可能なカオスは、下記の3つのアクションになります。

AKSに対して挿入可能として用意されているカオス
# アクション名 内容
1 delete_node ノードを削除する。
2 restart_node ノードを再起動する。
3 stop_note ノードを停止する。

 ……と言いたいところなのですが、本記事執筆時点でのChaos Toolkitでは、上記のアクションが用意されているものの動作しない状態となっています。

 ですが、AKSのノードの実体はVMSS(仮想マシンスケールセット)であることから、第3回の仕組みを活用して同様のカオス挿入を行うことができますので、今回はその方法でカオス挿入を行います。

カオスを挿入するシステムの構築

 今回は、「AKSノード上のPodのフェイルオーバー」の動作確認を行います。具体的には、AKSのノードの停止を発生させ、対象のノードで起動していたPodが別のノードで起動することを確認する実験です。

 AKSクラスターの構築は、以下のクイックスタートを参考にしてください。

 1つだけ注意点があります。「AKSクラスターの作成」の手順に記載のノード数(--node-count)は2以上にしておきます。ノードが1台だけだと、そのノードを停止してしまうと新たなPodの起動先が無くなり、実験の確認ができなくなってしまうためです。

az aks create --resource-group chaos-poc-part5 --name chaospocpart5 --node-count 3 --enable-addons monitoring --generate-ssh-keys

 Kubernetesクラスター上で動作するアプリについても、同じくクイックスタートを参考にデプロイしてください。

 デプロイが完了したら、フロントエンドのPod(azure-vote-front)が1個だけ起動していることを確認しておきましょう。READYの箇所が1/1になっていればOKです。

> kubectl get pods
NAME                                READY   STATUS    RESTARTS   AGE
azure-vote-back-6c4dd64bdf-7gh9p    1/1     Running   0          34s
azure-vote-front-85b4df594d-fhhzg   1/1     Running   0          34s

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
実験の計画

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
クラウドネイティブ時代の実践カオスエンジニアリング連載記事一覧

もっと読む

この記事の著者

石崎 奏(株式会社NTTデータ)(イシザキ ソウ)

 入社以来、NTTデータグループにおけるWindows/Linuxシステムの技術問合せ、トラブルシュート支援、アーキテクチャレビューに従事。現在は、Azureを中心としたクラウド技術者の能力開発や、グループ全体へのAzure活用支援にも携わる。Microsoft MVP for Azure (2022-) Twitter LinkedIn

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14860 2021/10/27 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング