※これはOKE virtual nodes deliver a serverless Kubernetes experienceの翻訳です。
Kubernetes は、クラウドで最新のアプリケーションを実行するための標準になりました。 しかし、最近の Cloud Native Computing Foundation (CNCF) の調査によると、Kubernetes の運用の複雑さは、依然として採用の大きな障害となっています。 次の要因により、Kubernetes は複雑になります。
- インフラストラクチャの適切なサイジング: Kubernetes は、アプリケーションを大規模に管理し、スケーリングするように設計されています。 そのため、CPUやメモリなどのインフラストラクチャのリソースの管理に関連する操作は複雑になり、多くのリソースを必要とする場合があります。
- アップグレードとメンテナンス: Kubernetes クラスタを最新の状態に保つには、定期的な更新とメンテナンスが必要です。 アップグレードは複雑になる可能性があり、ダウンタイムを最小限に抑えるには慎重な計画と調整が必要です。 アップグレードには通常、組織内の複数のチームが関与して丸 1 日かかることがあります。
- インフラストラクチャのセキュリティ: Kubernetes のセキュリティには、インフラストラクチャの強化を含む複数の側面が含まれます。 Kubernetes クラスタのインフラストラクチャが侵害された場合、クラスタで実行されているすべてのアプリケーションが危険にさらされます。 インフラストラクチャを強化し、アクセスを制限し、セキュリティパッチをタイムリーに適用する必要があります。
当社のユーザーは、Kubernetes インフラストラクチャ管理をシンプルにすることをを要望しているため、Oracle Container Engine for Kubernetes (OKE) にVirtual Nodesを導入できることを嬉しく思います。
OKE Virtual Nodesの導入
OKE Virtual Nodesは完全なサーバーレス Kubernetes 体験を提供します。 Virtual Nodesを使用すると、workerノードのインフラストラクチャを管理する必要なく、大規模かつ信頼性の高いKubernetes の運用を確保できます。このクラスタオプションは、workerノードのインフラストラクチャの管理やスケーリング、アップグレード、およびトラブルシューティングの運用上のオーバーヘッドを排除しながら、きめ細かなpodレベルの伸縮性と、podごとの料金設定を提供します。 Kubernetes クラスタは完全に管理されます。Oracleは、クラスタのコントロール・プレーンとデータ・プレーンを管理します。ユーザーはクラスタの Kubernetes API を介してデプロイされたアプリケーションに対してのみ責任を負います。
8×8 Inc.
「Kubernetesでワークロードを標準化することが増えるにつれ、運用が複雑になっています。サーバーレスKubernetesエクスペリエンスを提供するOKE Virtual Nodesの利用を心待ちにしています。Kubernetesのインフラストラクチャ管理をOKEにオフロードする上で役立つはずです。大規模なKubernetes運用を簡素化し、スケーリングの経済性を向上させ、時間と労力を節約することができるでしょう。」
– Mehdi Salour 氏、8×8, Inc. のグローバル ネットワークおよび開発オペレーション担当シニア バイス プレジデント
野村総合研究所(NRI)
「Cloud Native分野のテクノロジーの導入により、ビジネス成長を加速させることが可能になる一方で、Kubernetes の可能性を最大限に活用するためには環境の管理に課題があります。Oracle Container Engine for Kubernetesの新機能により、複雑な構成やノードを追加することなく、運用を簡素化し、アプリケーションをスケールすることができます。より高度な選択肢とコントロールを提供する拡張機能により、複雑さとコストを削減しながら、新しいアプリケーションの構築に集中することができるでしょう。」
– 大元成和氏、野村総合研究所 (NRI) 常務執行役員 マルチクラウドインテグレーション事業本部長
実質無制限の Kubernetes クラスタのキャパシティ
OKE Virtual Nodesは、Kubernetes環境の通常のノードを抽象化し、podを実行するために Kubernetes クラスタ内でオンデマンドの伸縮性を提供します。ノードレベルでの CPU やメモリのリソースに対する制約はありません。 podは、podのデプロイ仕様で指定された CPU とメモリに基づいて、適切なサイズのコンピューティングで実行されます。 Kubernetes horizontal pod autoscaler (HPA) を使用すると、クラスタに対してworkderを追加・削除したりクラスタオートスケーラを構成したりせずに、デプロイメントをスケーリングできます。
Virtual Nodesは、一時的なアプリケーション負荷のバーストをシームレスに処理します。 CPU とメモリへの要件が時間の経過とともに大きく変動する高トラフィックの Web アプリケーションやデータ処理ジョブなど、スケーラブルなワークロードの処理をシンプルにします。Virtual Nodesを使用すると運用効率が向上し、総所有コスト(TCO)を削減できます。 サーバ容量のオーバーヘッドを支払う必要はなく、アプリケーションは必要な CPU とメモリのリソースをいつでも的確に消費するようになります。
シームレスなKubernetesのアップグレード
OKE Virtual Nodesは、Kubernetes クラスタのアップグレードをシンプルにします。 クラスタのアップグレードはシングルクリック操作で、クラスタ・コントロール プレーンとデータ・プレーン内の全ての Kubernetes コンポーネントのアップグレードが行われるトリガーとなります。 まず、ワークロードに影響を与えることなくクラスタ・コントロールプレーンとVirtual Nodesがアップグレードされます。 次に、各podで実行されている kube-proxy がアップグレードされます。podは同じVirtual Nodesで非同期的に再起動され、アプリケーションの可用性を維持するためにpod中断バジェット (PDB) が考慮されます。
この OKE Virtual Nodesによるマネージドのアップグレード体験により、Kubernetes インフラストラクチャをマニュアル操作でアップグレードしてセキュリティパッチを適用するのではなく、アプリケーション開発に集中できます。
OKE Virtual Nodes上でのクリティカルなワークロード
Virtual Nodesは、アプリケーションの要件を満たすために必要な制御を提供しながら、サーバーレス体験を提供します。
一部のアプリケーションは、特定のプロセッサのアーキテクチャでパフォーマンスが向上します。 Virtual Nodesを使用すると、コンピュートのシェイプを選択してpodに割り当てることができるため、アプリケーションのパフォーマンスを制御できます。Virtual Nodesは、要求の厳しいワークロードに必要な垂直方向のスケーラビリティをサポートします。podは、選択したコンピュートのシェイプでサポートされる最大の CPU とメモリまでスケールアップできます。例えばAMD E3 および E4 シェイプを使用すると最大 64 コア (128 VCPU) および 1 TB のメモリまで拡張できますが、これは競合他社サービスよりはるかに制限が少ないです。
Virtual Nodesはトポロジの広がりの制約をサポートしているため、OCI 可用性ドメイン(AD)と障害ドメイン(FD)全体で Kubernetes のpodの配置を制御できます。 その結果、アプリケーションの pod の高可用性とアンチアフィニティ(互いに離れて配置)を構成できます。
セキュリティの強化
Virtual Nodesはセキュリティを向上させ、マルチテナントのアプリケーションや、信頼されていないワークロードを実行し、機密データを処理できるようにします。 まず、Virtual Nodesは、Kubernetesの各podに強力な仮想マシン (VM) タイプの分離を提供します。 pod は、基盤となるカーネル、メモリ、および CPU リソースを共有しません。 次に、各 podは、専用の仮想ネットワーク インターフェイス カード (VNIC) を介して仮想クラウド ネットワーク (VCN) にネイティブに接続します。 そのため、各podは、セキュリティ ルール、flow log、ルーティングポリシーなど、OCI VCN が提供するセキュリティ機能の恩恵を受けます。 この強化されたセキュリティにより、Virtual Nodesは、Kubernetes クラスタで厳密な分離を必要とするマルチテナント SaaSアプリケーションとエンタープライズ ワークロードを実現します。
さらにVritual Nodesは、podレベルの ID とアクセス管理をきめ細かく制御する Workload Identity をサポートします。 OCI Identity and Access Management (IAM) を使用して、個々の Kubernetes のPod に OCI リソース (Vault 内のシークレットや Object Storage のbucketなど) へのポリシー主導のアクセスを許可できます。 詳細については、OKE Workload Identity: Greater control of accessを参照してください。
OKE Virtual Nodes利用でのpodごとの利用料
Virtual Nodesを使用すると、Kubernetes ワークロードの実行コストを最適化できます。 未使用の容量がある可能性があるサーバ全体に対して支払うのではなく、Kubernetesの各podによって消費される正確なコンピューティングリソースに対して支払います。 その結果、ワークロードに対応するためにworkerノードのサイズを調整したり、workerノードの数を増減するようにクラスタ・オートスケーラを構成したりする必要はありません。Virtual Nodesにより、アプリケーションに集中する時間を節約できます。
さらに、Virtual Nodesで実行されるポッドの CPU とメモリの価格は、OCI Compute と同じです。 Virtual NodesでのcoreまたはGBの消費は、VM での消費と同じです。
Getting Started
OCI アカウントをまだお持ちでない場合は、free trialをリクエストして、次の手順を使用してください。
1. Oracle Cloud Infrastructureアカウントにログインします。
2. OKE Virtual Nodesを使用するために必要な IAM ポリシーを設定します。
3. ナビゲーション メニューを開きます。 [Developer Service(開発者サービス)] で、[Kubernetes Cluster (OKE)] に移動し、[Create Cluster(クラスタの作成)] をクリックします。
4. [Create Cluster(クラスタの作成)]ダイアログで、[Quick Create(クイック作成)] を選択し、[Launch Workflow(ワークフローの起動)] をクリックします。 ノード タイプとして [(Virtual)仮想] を選択し、[Next(次へ)] をクリックして、[Create Cluster(クラスタの作成)] をクリックします。

Kubernetes クラスタは、可用性ドメイン(AD)と障害ドメイン(FD)にまたがる 3 つのVirtuan Nodeのプールで構成されています。 Virtuan Nodesは、podを実行するための事実上無制限のキャパシティを提供します。
5. クラスタを選択し、[Access Cluster(クラスタにアクセス)] をクリックします。 Cloud Shell Access を選択し、Launch Cloud Shell をクリックして、「oci ce cluster create-kubeconfig」コマンドを実行します。
6. サンプル アプリケーションであり、一連のマイクロサービスとして構築された e コマース プラットフォームを実装するMushop をデプロイしてみましょう。
7. Cloud Shell で、デプロイの manifestをダウンロードして、Mushop をVirtual Nodesにデプロイします。
$ git clone https://github.com/gregvers/mushop-for-vn
8. Mushopをデプロイします
$ kubectl apply -R -f mushop-for-vn/.
9. Mushop アプリの外部 IP を取得し、すべての Mushop マイクロサービス のpodの準備が整ったら、このアドレスで Web ブラウザを開きます。
$ kubectl get svc edge

これで、すべての mushop マイクロサービスが OKE Virtual Nodesで実行されます。 workerノードを管理する必要はなく、podが消費する CPU とメモリリソースに対してのみ料金が発生します。
詳細を知るには
Virtual Nodesとシームレスな Kubernetesのアップグレードを備えた Kubernetes 水平pod・オートスケーラ (HPA) の詳細については、他のブログ記事を近日中に公開する予定です。 それまでは、Virtual Nodesの詳細を学び、次のリソースを使用して実践的な経験を積むことができます。
-
Access the OKE リソースセンター
- Blog – Kubernetes at scale just got a lot easier with new Oracle Container Engine
- Register for the Webcast
-
今日からOracle Cloud Infrastructureを始めましょう OCI Cloud Free Tier
