GKE Autopilot ユースカジノ 新vip構成で簡単にk8s環境を利用してみる
- Google Cloud
- インフラ
- コンテナ
- やってみた
投稿日:
はじめに
Google Cloudでは、コンテナを利用するためのサービスが複数あります。
単純なアプリケーションの利用ではCloud Runで手軽に利用できますが、本格的なコンテナ利用環境としては、今ではコンテナオーケストレーションのデファクトと言えるKubernetesをベースとしたサービスであるGoogle Kubernetes Engine(GKE)があります。
Kubernetes自体、元々Google初のオープンソースソフトウェアでしたが、Googleのサービスとして、このOSSソフトウェアの運用管理をマネージドサービス化してユーザーに提供することで、高度な専門知識が無くともKubernetesのメリットを享受できる環境を提供することができるようになりました。
初期のGKEでは管理ノード(Control Plane)のマネージドサービスによる構築管理負荷低減を実現していましたが、のちに追加されたAutopilotユースカジノ 新vipにおいては、Worker Nodeまで含めた自律的なフルマネージドサービスとしてKubernetesユースカジノ 新vip環境を提供できるまでになりました。
本記事では、いかに簡単にKubernetesユースカジノ 新vipを構築できるか、構築手順を実際に確認してみたいと思います。
本記事でのゴールは、nginxのWebサイトをKubernetesユースカジノ 新vipで実行するまでの構築手順を見てみたいと思います。
事前準備
Google Cloud のプロジェクトを作成し、課金を有効にしておきます。
ここでは詳細は割愛します。Googleのドキュメントを参照してください。
APIの有効化
初めに、Kubernetes Engine API を有効化します。
プロジェクトで有効にされてないAPIがある場合、暗黙的にそれらの関連APIも有効化されます。
APIの有効化方法はいくつかありますが、ここではKubernetes Engine のページから有効化します。
Google Cloud のコンソールにログインし、左メニューから Kubernetes Engine を選択します。
APIが有効になっていない場合、有効化の画面に遷移します。
「有効にする」を押下します。
これにより必要なAPIが有効化され、Kubernetes Engine の「ユースカジノ 新vip」画面に遷移します。
ユースカジノ 新vip作成
「Kubernetes Engine」→「ユースカジノ 新vip」の画面が表示されています。
ユースカジノ 新vipの作成を開始します。
ウィザード形式で進める事が出来ます。
「作成」を押下します。
初めてアクセスする場合は、ガイド画面が表示される場合があります。
青色のメッセージのところの説明を確認して進めてください。
ガイドを完了しますと、Autopilotユースカジノ 新vip作成のウィザードが始まります。
Autopolotユースカジノ 新vipの作成
ユースカジノ 新vipの基本
「ユースカジノ 新vipの基本」の画面では、ユースカジノ 新vip名とデプロイ先のリージョンを指定します。
画面に書かれている命名ルールに従って名前を指定し、デプロイ先のリージョンを指定します。ユースカジノ 新vipは単一のリージョンにデプロイされます。後から変更はできません。
本記事ではデフォルト値を指定します。
「次へ: フリート登録」を押下します。
フリート登録
フリートはユースカジノ 新vipを登録管理する概念です。
ここで指定しない場合、ユースカジノ 新vip作成するプロジェクトのフリートにこのユースカジノ 新vipが登録されます。この項目をスキップしてあとから別プロジェクトのフリートにユースカジノ 新vipを登録することもできます。
ここではこのプロジェクトのフリートを作成してユースカジノ 新vipを登録することにします。
チェックボックスをチェックして、フリート名を入力します。
デフォルトでプロジェクト名を含む文字列が生成されます。
入力して、「次へ: ネットワーキング」を押下します。
ネットワーキング
ユースカジノ 新vipの使用するネットワークを指定します。
利用するVPCとサブネットを指定します。
本記事では Compute Engine を有効にした際に作成されるデフォルトVPCとデフォルトサブネットを使用します。
IPv4ネットワークアクセスでは、GKEユースカジノ 新vipのサービスの公開範囲を選択します。
一般公開ユースカジノ 新vipは、インターネット上からのアクセスを許可することを意味します。
限定公開ユースカジノ 新vipは、Podやノードに内部IPのみわりあてられるため、GKE単体ではインターネット上からGKEユースカジノ 新vip上のPodにアクセスすることが出来なくなります。
また、外部IPがワーカーノードに割り当てられないため、そのままではPodからのインターネットアクセスはできず、Cloud NATを経由する必要があります。
実際のシステム運用の観点からは、限定公開ユースカジノ 新vipにする方がよりセキュアな構成とすることができます。
本記事では単純なユースカジノ 新vip構成とするため、一般公開ユースカジノ 新vipを選択します。
デフォルトのプラベデフォルトのプラベートエンドポイントサブネットをオーバーライドする
この項目は限定公開ユースカジノ 新vipを選択した際に割り当てられるコントロールプレーンのプライベートエンドポイント(VPCネットワークないの内部IP)のアドレス範囲を、デフォルトであるユースカジノ 新vipのサブネットから別のネットワークを指定したい場合に設定します。
- コントロールプレーンのグローバルアクセスを有効にする
- コントロールプレーンの承認済みネットワークを有効にする
これらの設定は、限定公開ユースカジノ 新vipにおいて、コントロールプレーンへのアクセスの制限をどうするかについての設定です。適切な制限することで、不正なアクセスを防ぐことができますが、ネットワーク全体のアクセス経路に関わるため、管理者のアクセス経路などを含めて検討が必要です。本記事では詳細は省きますが、オンラインドキュメントを参照して構成について検討してください。本記事では一般公開ユースカジノ 新vipとするため、これらの項目は設定しません。
参考ドキュメント
https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept?hl=ja
「次へ: 詳細設定」を押下します。
詳細設定
リリースチャンネルの設定は、GKEのKubernetesのバージョンアップのタイミングを設定するための機能です。
デフォルトでは、Kubernetesのオープンソースでアップデートがリリースされてから、およそ2~3か月後の時期にバージョンアップが行われます。より早いタイミングでバージョンアップをさせる設定(Rapid)もありますが、この場合GKE SLAから除外されることになるため、安定した運用をするにはデフォルトか、より期間を長くもつStableのチャネルを設定すると良いでしょう。
これ以外の設定については、各項目の右の矢印を押下すると、設定項目が表示されます。
今回の記事では各項目ともデフォルトとします。
「次へ: 確認と作成」を押下します。
確認と作成
この画面では、これまでの設定内容が表示されます。
内容を確認後、「ユースカジノ 新vipを作成」を押下すると、ユースカジノ 新vipの作成が開始されます。
Kubernetesユースカジノ 新vipの画面に遷移しますが、ステータスが緑のチェックマークに変わるまでは作成作業が進行しているので待ちます。環境によりますが、数分~十数分程度でユースカジノ 新vip作成が完了します。
コンテナのユースカジノ 新vip
コンテナ
次に、サンプルのコンテナをユースカジノ 新vipして動作を確認します。
今回は単純にDocker Hubにあるnginxのコンテナをユースカジノ 新vipしてWebサーバにブラウザからアクセスしてみます。
Kubernetesユースカジノ 新vipの画面上部の「デプロイ」を押下します。
Deploymentの作成
コンテナ
今回はDocker Hubのnginxの最新版を利用するため、既存のコンテナイメージを選択し、イメージパスに nginx:latest を入力します。
環境変数や初期コマンドは指定せず、「完了」を押下します。
コンテナイメージパスが表示されたのを確認し、「続行」を押下します。
構成
この項目では、ユースカジノ 新vipするコンテナのDeployment名やnamespace、Key-Valueによるラベルの追加、DeploymentのYamlファイルなど指定できますが、今回の記事ではデフォルト値で設定します。
「続行」を押下します。
公開(省略可)
この項目を設定すると、コンテナのユースカジノ 新vipと同時にサービスを外部公開します。
今回はすぐにアクセスを試すため、「Deployment を新しいサービスとして公開する」にチェックを入れます。
チェックを入れるとポートマッピングの設定ができるようjになります。
コンテナのポートと、このDeploymentで公開するポートをマッピングします。
今回ユースカジノ 新vipするnginxのコンテナは、tcp:80のポートでプロセスがリッスンしますので、これにマッピングすればnginxのプロセスにアクセスできることになります。
デフォルトで表示されている設定は、Deploymentのポート80をマッピングすることを意味しています。
ターゲットポート(コンテナ側のポート)として同じポートをマッピングする場合は、ターゲットポートの記述は省略できます。
プロトコルはコンテナ側の指定ポートでサポートされるプロトコルを指定します。
サービスタイプにロードバランサを選択すると、ロードバランサが構成されるので、ユースカジノ 新vip後のエンドポイントIPアドレスを持つ外部ロードバランサが構成されます。
「ユースカジノ 新vip」を押下するとユースカジノ 新vipが開始されます。
ユースカジノ 新vipの詳細画面で進行状況を確認できます。
最終的にユースカジノ 新vipメントの詳細画面に遷移します。
この際、ユースカジノ 新vip完了直後は画面描写のタイミングの関係でエラーのような画面が出ることがありますが、ユースカジノ 新vipが完了すれば正常になるので少し時間をおいてリロードしてみてください。
正常な状態になると、そのDeploymentのCPU等のグラフ等が表示されます。
画面を下にスクロールして、エンドポイントの情報を確認します。
エンドポイントのIP:Portにブラウザでアクセスすると、nginxのWelcome画面にアクセスできます。
今回の記事の内容はこれで終了となります。
おまけ【ユースカジノ 新vipの削除】
最後に今回動かした環境を削除します。
Kubernetesユースカジノ 新vipの画面に遷移します。
対象のユースカジノ 新vip名の右端の … を押下するとメニューが表示されるので、「削除」を選択します。
削除の確認画面になるので、テキストボックスにユースカジノ 新vip名を入力し、「削除」を押下します。
ユースカジノ 新vipの削除が開始されるので、削除完了まで待ちます。
ユースカジノ 新vip名が消えれば削除完了です。お疲れさまでした。
次回予告
本記事ではGKEユースカジノ 新vipのデプロイについて触れましたので、次はコンテナの作成についての記事を掲載予定です。
ご期待ください!