今回のブログは、Professional Cloud Network Engineer認定取得講座12回目です!今回は、「模擬試験から重要項目をピックアップして説明します! 〜その漆〜」です!
今回も、「Professional Cloud Network Engineer」認定資格の模擬試験から、私がピックアップした重要項目について説明します。模擬試験については、下記URLから受験することができます。
Professional Cloud Network Engineer 模擬試験
今回は、模擬試験の問題15から重要項目をピックアップしています。
是非、最後までご覧いただけると嬉しいです。
Google Kubernetes Engine
概要
Google Kubernetes Engine(以下、GKEと称します。)とは、コンテナ化されたアプリケーションを大規模にデプロイ・運用するためのサービスです。
コンテナ化されたアプリケーションとは、プログラムやデータがまとめて包まれた小さなソフトウェアパッケージのことです。GKEでは、Googleのインフラストラクチャを使用して、これらのコンテナ化されたアプリケーションを簡単にデプロイ・運用することができます。
GKEには、以下の特徴があります。
- スケーラブル:コンテナ化されたアプリケーションの需要に合わせて、クラスターを自動的にスケールアップ・スケールダウンできます。
- 自動化:アプリケーションの配置や更新、セキュリティなどのタスクを自動化できます。
- 管理の容易さ:Kubernetesの管理に必要な知識や経験がなくても、簡単に利用できます。
GKEは、以下の人々や組織に適しています。
- コンテナ化されたアプリケーションを運用したい企業や組織
- コンテナ化されたアプリケーションの運用にかかる手間を削減したい人
- Kubernetesの管理に必要な知識や経験がない人
GKEは、Googleが提供するマネージドKubernetesサービスです。
マネージドサービスとは、サービスプロバイダ(Google Cloud)が運用を代行してくれるサービスです。GKEでは、GoogleがKubernetesの管理を代行してくれるため、ユーザーはKubernetesの知識や経験がなくても、簡単にコンテナ化されたアプリケーションをデプロイ・運用することができます。
Kubernetesは、Googleが自社のクラスタ管理システムであるBorgを基にして開発したコンテナオーケストレーションシステムです。
GKEのメリット
GKEを使用する主なメリットは、以下の4つです。
- プラットフォームの管理が容易になる
- セキュリティが強化される
- 費用を最適化できる
- 信頼性と可用性が向上する
1.プラットフォームの管理が容易になる
GKEは、Kubernetesの運用を自動化するための機能を提供しています。これにより、ユーザーは、クラスタの構成やメンテナンスなどの手動作業を減らすことができます。
具体的には、以下のような機能があります。
- GKE Autopilotモード(自動構成とベストプラクティスの適用)
- マネージドアップグレードエクスペリエンス
- アップグレードの柔軟な設定
- ノードのアップグレード戦略による可用性の最適化
- クラスタ内のPod数に基づくノードの自動スケーリング
- ノードの自動修復
- 組み込みのロギングとモニタリング
- Google Cloud CI/CDオプションの統合
2.セキュリティが強化される
GKEは、セキュリティを強化するための機能を提供しています。これにより、ユーザーは、アプリケーションやデータを保護することができます。
具体的には、以下のような機能があります。
- セキュリティ強化ノードオペレーティングシステム
- 組み込みのセキュリティ対策
- 自動アップグレード
- 統合セキュリティ体制モニタリングツール
- Google Cloud Logging、Monitoring、オペレーションスイートの統合
3.費用を最適化できる
GKEは、費用を最適化するための機能を提供しています。これにより、ユーザーは、アプリケーションの運用コストを削減することができます。
具体的には、以下のような機能があります。
- Autopilotモード:実行中のPodに対してのみ料金
- GKE Standardモード:ノードのすべてのリソースに対して料金
- Spot Podを使用してコスト削減
4.信頼性と可用性が向上する
GKEは、信頼性と可用性を向上するための機能を提供しています。これにより、ユーザーは、アプリケーションのパフォーマンスと可用性を向上させることができます。
具体的には、以下のような機能があります。
- 99%以上の月間稼働率のSLO
- AutopilotクラスタでのPodレベルのSLA
- 高可用性コントロールプレーンとワーカーノード
- 予防的モニタリングと推奨事項
- マルチクラスタサービスの機能
これらのメリットをまとめると、GKEは、Kubernetesの運用を効率化・自動化しながら、セキュリティと信頼性を高めることができるサービスと言えます。
クラスタ構成について
Google Kubernetes Engineでは、クラスタの運用モード(クラスタタイプ)として、AutopilotモードとStandardモードの2種類が提供されています。
Autopilotモードは、Google Cloudがクラスタの管理を完全に自動化してくれるモードです。ユーザーは、クラスタの作成や更新、ノード追加や削除などの操作を行う必要はありません。そのため、運用の負担が少なく、高可用性とスケーラビリティを実現できます。
Standardモードは、ユーザーがクラスタの管理を自分で行うモードです。ユーザーは、クラスタの構成やノード管理などの操作を行う必要があります。そのため、運用の負担はAutopilotモードよりも大きくなりますが、柔軟な構成やカスタマイズが可能になります。
AutopilotモードとStandardモードの違いは、以下の表にまとめます。
項目 | Autopilotモード | Standardモード |
運用の自動化 | 完全自動化 | ユーザーが行う |
高可用性 | 高可用性 | ユーザーが設定 |
スケーラビリティ | 高可用性 | ユーザーが設定 |
柔軟性 | 低い | 高い |
カスタマイズ性 | 低い | 高い |
運用の負担 | 少ない | 多い |
Autopilotモードは、運用の負担を軽減したい、高可用性とスケーラビリティを重視したい場合に適しています。Standardモードは、柔軟な構成やカスタマイズをしたい場合に適しています。
なお、AutopilotモードとStandardモードは、どちらもKubernetesの基本的な機能をすべてサポートしています。
GKE ネットワーキングについて
GKEのネットワークは、Kubernetesの宣言的モデルを使用して、ポッド、サービス、外部クライアントの通信を管理します。宣言的モデルとは、どのような状態が望ましいかを記述するモデルです。
- ポッド
- コンテナのグループを単位とした仮想ネットワークです。
- ポッドは、同じノード上にデプロイされます。
- ポッドは、同じネットワーク上の他のポッドと通信できます。
- サービス
- ポッドのグループに名前とアドレスを割り当てるものです。
- サービスは、ポッドのグループへのアクセスを簡素化します。
- サービスは、インターネットに公開することもできます。
- 外部クライアント
- Kubernetesの外部にあるアプリケーションやサービスです。
- 外部クライアントは、サービス経由でポッドにアクセスできます。
GKEのネットワークは、Kubernetesコントロールプレーンによって管理されます。Kubernetesコントロールプレーンは、クラスタのノードとネットワークを監視し、必要な変更を自動的に適用します。
また、GKEのネットワークは、高度なソフトウェア定義ネットワーク(SDN)を使用して、複数のゾーン間でポッド、サービス、ノードのパケットをルーティングします。これにより、クラスタの可用性とパフォーマンスを向上させることができます。
具体的には、次のことができます。
- ポッドの相互通信
- 同じノード上にデプロイされたポッドは、同じネットワークで通信できます。
- 異なるノード上にデプロイされたポッドは、サービス経由で通信できます。
- Kubernetesコントロールプレーンとの通信
- ポッドは、Kubernetesコントロールプレーンと通信して、デプロイやスケーリングなどの操作を実行できます。
- クライアントからのアクセス
- 外部クライアントは、サービス経由でポッドにアクセスできます。
GKEのネットワークは、Kubernetesアプリケーションをデプロイして管理する際に重要な要素です。GKEのネットワークを理解することで、アプリケーションのパフォーマンスとセキュリティを向上させることができます。
クラスタネットワーキングの要件
GKEクラスタのネットワーク構成に関する要件について説明します。
GKEクラスタのネットワーク構成は、次の2つの要素で構成されます。
- ネットワークルーティングモード
- クラスタのネットワークを構成する方法を選択します。
- VPC ネイティブクラスタ:エイリアス IPを使用し、Google Cloudのルートを使用しないクラスタ。
- ルートベースクラスタ:Google Cloudのルートを使用しないクラスタ。
- クラスタのネットワークを構成する方法を選択します。
- ネットワーク分離
- クラスタのトラフィックをパブリックネットワークから分離するかどうかを選択します。
- デフォルトでは、パブリックネットワークからアクセスできます。
- 限定公開クラスタ
内部アドレスを割り当て、パブリックネットワークから完全に分離します。
ネットワークルーティングモード
GKEクラスタは、ネットワークルーティングモードによって、次の2つの方法でネットワークを構成できます。
- VPC ネイティブクラスタ
- VPC ネイティブクラスタは、エイリアス IP を使用して、Google Cloud のルートを使用しないクラスタです。
- VPC ネイティブ クラスタは、デフォルトで推奨されています。
- ルートベースクラスタ
- ルートベース クラスタは、Google Cloud のルートを使用しないクラスタです。
- ルートベース クラスタは、VPC ネイティブ クラスタよりも構成が簡単ですが、ネットワークのパフォーマンスが低下する可能性があります。
ネットワーク分離
GKEクラスタは、ネットワーク分離によって、次の2つの方法でネットワークを構成できます。
- パブリックネットワークへのアクセスを許可する
- デフォルトでは、GKEクラスタはパブリックネットワークへのアクセスを許可します。
- パブリックネットワークへのアクセスを許可すると、クラスタのワークロードはインターネットからアクセスできます。
- パブリックネットワークへのアクセスを禁止する
- 限定公開クラスタでは、GKEクラスタはパブリックネットワークへのアクセスを禁止します。
- 限定公開クラスタでは、クラスタのワークロードはインターネットからアクセスできません。
GKEクラスタのネットワーク構成は、アプリケーションの要件に合わせて選択する必要があります。
クラスタネットワーク
GKEクラスタのネットワーク構成は、クラスタのトラフィックをどのように管理するかを決める重要な要素です。
- ネットワーク ルーティング モード
- VPC ネイティブ クラスタは、Google Cloudのルートを使用せず、クラスタのネットワークをプライベートネットワークで管理します。
- ルートベースクラスタは、Google Cloudのルートを使用して、クラスタのネットワークをパブリックネットワークと共有します。
- ネットワーク分離
- デフォルトでは、クラスタのワークロードはパブリックネットワークからアクセスできます。
- 限定公開クラスタでは、クラスタのワークロードはパブリックネットワークから完全に分離されます。
GKEクラスタを作成する際には、アプリケーションの要件に合わせてネットワーク構成を選択してください。
VPC ネイティブクラスタ
GKEクラスタをエイリアスIPアドレス範囲を使用して構築したものを、VPCネイティブクラスタといいます。VPCネイティブクラスタには、以下のようなメリットがあります。
- PodのIPアドレスは、VPCネットワーク内および他のVPCネットワークへネイティブにルーティングできます。
- PodのIPアドレスは事前に予約されるため、他のリソースとの競合を回避し、IPアドレスの割り当てを効果的に計画できます。
- カスタム静的ルートに依存せず、自動生成されたサブネットルートによってルーティングが処理されるため、管理が容易になります。
- ファイアウォールルールをPodのIPアドレス範囲に適用できるため、セキュリティを強化できます。
一部の機能(ネットワークエンドポイントグループなど)はVPCネイティブクラスタでのみ動作します。
VPCネイティブクラスタのIPアドレス範囲
VPCネイティブクラスタを作成すると、VPCネットワーク内のサブネットを指定する必要があります。ノードのIPv4アドレスはサブネットのプライマリIPv4アドレス範囲から取得され、PodのIPv4アドレス範囲はセカンダリIPv4アドレス範囲から取得されます。IPv6を使用している場合、IPv6アドレスもノードとPodに割り当てられます。
ルートベースクラスタ
GKEクラスタをGoogle Cloudのルートを使用して構築したものを、ルートベースクラスタといいます。
ルートベースクラスタには、以下のようなメリットがあります。
- 既存のVPCネットワークを活用できるため、初期設定が簡単です。
- ルートベースクラスタは、GKE 1.20.0-gke.1200 より前のバージョンで作成されたクラスタのデフォルトモードです。
ルートベースクラスタには、以下のようなデメリットがあります。
- クラスタのネットワーク設定が複雑になる場合があります。
- ルートベースクラスタでは、一部の機能(ネットワークエンドポイントグループなど)が使用できません。
ルートベースクラスタのIPアドレス範囲
ルートベースクラスタを作成すると、VPCネットワーク内のサブネットを指定する必要があります。ノードのIPv4アドレスはサブネットのプライマリIPv4アドレス範囲から取得され、PodとServiceのアドレスは、単一のCIDR範囲を指定します。IPv6を使用している場合、IPv6アドレスもノードとPodに割り当てられます。
まとめ
本日は下記について説明しました。
- Google Kubernetes Engine
今回説明した項目は、模擬試験でいうと、問題15で出題されている内容からピックアップしています。
これからも、Macのシステムエンジニアとして、日々、習得した知識や経験を発信していきますので、是非、ブックマーク登録してくれると嬉しいです!
それでは、次回のブログで!