KubernetesのOCIサービス・オペレータのクラスタへの追加
Kubernetes Engine (OKE)で作成したクラスタにOCI Service Operator for Kubernetesを追加する方法をご紹介します。
OCI Service Operator for Kubernetesは、Kubernetes APIおよびKubernetesツールを使用してOracle Cloud Infrastructureリソース(Autonomous DatabaseサービスやHeatWaveサービスなど)を作成、管理および接続できるオープン・ソースのKubernetesアドオンです。OCI Service Operator for Kubernetesをインストールすると、Oracle Cloud Infrastructure Console、CLIまたはその他の開発者ツールを使用せずに、Kubernetes APIを使用してOracle Cloud Infrastructureリソースに対してアクションを実行できます。その結果、Kubernetesアプリケーションの管理と同じ方法でOracle Cloud Infrastructureリソースを管理できるため、複雑さと管理のオーバーヘッドが軽減されます。
OCI Service Operator for Kubernetesは、オープンソースのOperator Frameworkツールキットを使用して構築されています。オペレータ・フレームワークは、オペレータと呼ばれるKubernetesネイティブ・アプリケーションを、効果的で自動化されたスケーラブルな方法で管理します。オペレータは、Kubernetesの概念およびAPIとネイティブに統合することで、Kubernetesクラスタ内で実行されるソフトウェアで共通のアクティビティを実装および自動化します。オペレータ・フレームワークのコンポーネントには、次のものがあります。
- Operator SDKは、Kubernetesコントローラ・ランタイム・ライブラリを使用して、操作ロジックを記述するための高レベルのAPIおよび抽象化、およびスキャフォールディングおよびコード生成用のツールを提供します。
- オペレータ・ライフサイクル・マネージャ(OLM)。Kubernetesを拡張して、クラスタにオペレータをインストール、管理およびアップグレードする宣言的な方法を提供します。
OCI Service Operator for Kubernetesでは、次のOracle Cloud Infrastructureサービスをプロビジョニングおよび統合できます:
- Autonomous Database (特にトランザクション処理と混合ワークロード、アナリティクスとデータ・ウェアハウス)は、パッチ適用、アップグレードおよびチューニングを自動化します。Autonomous Databaseでは、システムの実行中に、人的介入なしで、すべての日常的なデータベース・メンテナンス・タスクを実行できます。
- HeatWave: 一般的なMySQLオープン・ソース・データベースを使用してセキュアなクラウド・ネイティブ・アプリケーションを開発およびデプロイするためのフルマネージド・データベース・サービスを提供します。
- ストリーミング: 大量のデータ・ストリームをリアルタイムで収集および消費するための、スケーラブルで耐久性の高いフルマネージド・ソリューションを提供します。
- サービス・メッシュ: クラウド・ネイティブ・アプリケーション内のマイクロサービスが、一元管理された安全な方法で相互に通信できるようにする一連の機能を提供します。
Oracle Cloud Infrastructure Kubernetes Engineで作成したクラスタにOCI Service Operator for Kubernetesを追加して、前述のOracle Cloud Infrastructureサービスと対話できます。OCI Service Operator for Kubernetesをクラスタに追加すると、クラスタ上のアプリケーションをデプロイまたはアンデプロイするたびに、サービスを手動でプロビジョニングおよびプロビジョニング解除する必要はありません。かわりに、kubectlを使用して、OCI Service Operator for Kubernetesによって実装されるOperator Framework APIをコールすることで、サービスと対話します。
OCI Service Operator for Kubernetesは、Kubernetesクラスタに簡単にインストールできるように、Operator Lifecycle Manager (OLM)バンドルとしてパッケージ化されています。バンドルには、クラスタにOCI Service Operator for Kubernetesをインストールするために必要なすべてのオブジェクトおよび定義(CRD、RBAC、構成マップ、デプロイメントなど)が含まれます。
OCI Service Operator for Kubernetesの詳細は、GithubリポジトリのOCI Service Operator for Kubernetesのドキュメントを参照してください。
クラスタへのOCI Service Operator for Kubernetesの追加
OCI Service Operator for Kubernetesをクラスタに追加するには、GithubリポジトリのOCI Service Operator for Kubernetesドキュメントの詳細な手順に従います。
便宜上、関連するステップの概要を次に示します:
- OCI Service Operator for Kubernetesをインストールします。このステップでは、通常、次の操作を実行します:
- Operator SDKをインストールします。
- Operator Lifecycle Manager (OLM)のインストール
- OCI Service Operator for Kubernetesをデプロイします。
詳細は、GithubリポジトリのOCI Service Operator for Kubernetesのドキュメントを参照してください。
- セキュアなOCI Service Operator for Kubernetesこのステップでは、通常、次の操作を実行します:
- OCI Service Operator for Kubernetesで使用するOracle Cloud Infrastructureユーザーを設定します。
- 適切なポリシーを設定して、(使用するOracle Cloud Infrastructureサービスに従って)リソースへのアクセスを制御します。
- シークレットを作成して、機密値を保護します。
選択するセキュリティ構成は、特定の要件によって異なります。詳細は、GithubリポジトリのOCI Service Operator for Kubernetesのドキュメントを参照してください。
- 必要なOracle Cloud Infrastructureサービスをプロビジョニングし、これにバインドします。このステップでは、通常、次の操作を実行します:
- サービス・プロビジョニング・リクエスト・パラメータを指定します。
- サービス・バインディング・リクエスト・パラメータを指定します。
- サービス・バインディング・レスポンス資格証明を指定します。
選択するセキュリティ構成は、特定の要件によって異なります。詳細は、GithubリポジトリのOCI Service Operator for Kubernetesのドキュメントを参照してください。