機械翻訳について

2 Oracle Cloud Infrastructure Cloud Controller Managerモジュールのインストール

この章では、Oracle Cloud Infrastructure Cloud Controller ManagerモジュールをOracle Cloud InfrastructureインスタンスのOracle Cloud Native Environmentにインストールする方法について説明します。

前提条件

この項では、Oracle Cloud Infrastructure Cloud Controller Managerモジュールを設定するために必要な前提条件について説明します。

Oracle Cloud Infrastructure識別子の収集

Oracle Cloud Infrastructure Cloud Controller Managerモジュールを設定する前に、Oracle Cloud Infrastructure環境に関する情報を収集する必要があります。 必要な最も一般的な情報は、次のとおりです:

  • リージョンの識別子。

  • テナンシのOCID。

  • コンパートメントのOCID。

  • ユーザーのOCID。

  • API署名キー・ペアの公開キーのフィンガープリント。

  • API署名キー・ペアの秘密キー・ファイル。

Oracle Cloud Infrastructureネットワークまたはその他のコンポーネントに関する詳細情報が必要になる場合があります。

Oracle Cloud Infrastructure Cloud Controller Managerモジュールを使用してKubernetesポッドのロード・バランサを提供している場合は、次も収集する必要があります:

  • Virtual Cloud Network (VCN)のOCID。

  • 必要に応じて高可用性のためのVCN内の2つのサブネットのOCIDs。

  • ロード・バランサに使用する割当て。

  • ロード・バランサに使用するシェイプ。

これらの各識別子またはコンポーネントの検索の詳細は、「Oracle Cloud Infrastructureドキュメント」を参照してください。

ヘルス・チェック・エンドポイント・ネットワーク・ポートの設定

ServiceInternalTrafficPolicyCluster (デフォルト)に設定してKubernetes LoadBalancerサービスを使用する場合、ヘルス・チェック・エンドポイントはTCPポート10256で使用可能であることが予想されます。kube-proxyは、このポートにリスナーを作成します。これにより、ノード上でkube-proxyが正常であることを確認するためにLoadBalancerサービスへのアクセスが設定されます。 LoadBalancerサービスは、このポリシーを使用してトラフィックをルーティングできるノードを決定します。 このポートでトラフィックを許可するには、すべてのKubernetesノードでTCPポート10256をオープンする必要があります。 各Kubernetesノードで、次を実行します:

sudo firewall-cmd --zone=public --add-port=10256/tcp
sudo firewall-cmd --zone=public --add-port=10256/tcp --permanent
sudo systemctl restart firewalld.service

ServiceInternalTrafficPolicyの詳細については、アップストリーム「Kubernetesドキュメント」を参照してください。

ネットワーク・セキュリティ・リストのTCPポート10256でトラフィックが許可されていることを確認します。

モジュールのデプロイ

Oracle Cloud Infrastructure Cloud Controller Managerモジュールは、Oracle Cloud Infrastructureストレージとアプリケーション・ロード・バランサの両方をプロビジョニングするために使用されます。 この項では、Oracle Cloud Infrastructure Cloud Controller Managerモジュールのデプロイに必要な各コンポーネントのインストールについて説明します。

モジュールの作成時に使用可能なプラットフォームCLIコマンド・オプションの完全なリストについては、「プラットフォーム・コマンドライン・インタフェース」olcnectl module createコマンドを参照してください。

Oracle Cloud Infrastructure Cloud Controller Managerモジュールをデプロイするには:

  1. 環境をまだ設定していない場合は、モジュールをデプロイできる環境を作成します。 環境の設定方法の詳細は、スタート・ガイドを参照してください。 この例の環境の名前は、myenvironmentです。

  2. Kubernetesモジュールをまだ設定またはデプロイしていない場合は、設定します。

    Kubernetesモジュールを環境に追加する方法の詳細は、「Kubernetesモジュール」を参照してください。 この例のKubernetesモジュールの名前は、myclusterです。

  3. Oracle Cloud Infrastructure Cloud Controller Managerモジュールを作成し、--oci-ccm-kubernetes-moduleオプションを使用して、myclusterという名前のKubernetesモジュールに関連付けます。 この例では、Oracle Cloud Infrastructure Cloud Controller Managerモジュールの名前はmyociです。

    olcnectl module create \
    --environment-name myenvironment \
    --module oci-ccm \
    --name myoci \
    --oci-ccm-kubernetes-module mycluster \
    --oci-region us-ashburn-1 \
    --oci-tenancy ocid1.tenancy.oc1..unique_ID \
    --oci-compartment ocid1.compartment.oc1..unique_ID \
    --oci-user ocid1.user.oc1..unique_ID \
    --oci-fingerprint b5:52:... \
    --oci-private-key-file /home/opc/.oci/oci_api_key.pem \
    --oci-vcn ocid1.vcn.oc1..unique_ID \
    --oci-lb-subnet1 ocid1.subnet.oc1..unique_ID 

    --moduleオプションは、モジュール・タイプを作成(oci-ccm)に設定します。 Oracle Cloud Infrastructure Cloud Controller Managerモジュールの名前は、--nameオプションを使用して定義します(この場合はmyociです)。

    --oci-ccm-kubernetes-moduleオプションは、Kubernetesモジュールの名前を設定します。

    --oci-regionオプションは、使用するOracle Cloud Infrastructureリージョンを設定します。 この例のリージョンは、us-ashburn-1です。

    --oci-tenancyオプションは、テナンシのOCIDを設定します。

    --oci-compartmentオプションは、コンパートメントのOCIDを設定します。

    --oci-userオプションは、ユーザーのOCIDを設定します。

    --oci-fingerprintオプションは、Oracle Cloud Infrastructure API署名キーの公開キーのフィンガープリントを設定します。

    --oci-private-key-fileパス・オプションは、Oracle Cloud Infrastructure API署名キーの秘密キーのロケーションを設定します。 これはオペレータ・ノード上にある必要があります。

    --oci-vcnオプションは、ロード・バランサを作成するVCNのOCIDを設定します。 ロード・バランサを使用していない場合は、このオプションを含める必要はありません。

    --oci-lb-subnet1オプションは、ロード・バランサを作成するVCNサブネットのOCIDを設定します。 ロード・バランサを使用していない場合は、このオプションを含める必要はありません。

    ロード・バランサの高可用性を設定するには、--oci-lb-subnet2オプションを使用して、別の可用性ドメインに2番目のサブネットを指定します。 たとえば:

    --oci-lb-subnet2 ocid1.subnet.oc1..unique_ID \

    モジュールの追加時に必要なオプションの一部が含まれていないと、そのオプションを指定するように求められます。

  4. olcnectl module installコマンドを使用して、Oracle Cloud Infrastructure Cloud Controller Managerモジュールをインストールします。 たとえば:

    olcnectl module install \
    --environment-name myenvironment \
    --name myoci

    Oracle Cloud Infrastructure Cloud Controller Managerモジュールは、Kubernetesクラスタにデプロイされます。

モジュールのデプロイメントの検証

オペレータ・ノード上でolcnectl module instancesコマンドを使用して、Oracle Cloud Infrastructure Cloud Controller Managerモジュールがデプロイされていることを確認できます。 たとえば:

olcnectl module instances \
--environment-name myenvironment
INSTANCE                  MODULE    	STATE    
mycluster                 kubernetes	installed
myoci                     oci-ccm   	installed
...

MODULE列のoci-ccmのエントリは、installed状態であることに注意してください。

また、olcnectl module reportコマンドを使用して、モジュールに関する情報を確認します。 たとえば、次のコマンドを使用して、myenvironmentmyociという名前のOracle Cloud Infrastructure Cloud Controller Managerモジュールを確認します:

olcnectl module report \
--environment-name myenvironment \
--name myoci \
--children

olcnectl module reportコマンドの構文の詳細は、「プラットフォーム・コマンドライン・インタフェース」を参照してください。

アプリケーション・ロード・バランサを使用するオプションを含めた場合は、コントロール・プレーン・ノードで、kubectl get scコマンドを使用して、Oracle Cloud Infrastructureプロビジョナのoci-bv StorageClassが作成されていることを確認します:

kubectl get sc

出力は次のようになります:

NAME     PROVISIONER                       RECLAIMPOLICY   VOLUMEBINDINGMODE      ...
oci-bv   blockvolume.csi.oraclecloud.com   Delete          WaitForFirstConsumer   ...

kubectl describe scコマンドを使用して、StorageClassの詳細を取得できます。 たとえば:

kubectl describe sc oci-bv

出力は次のようになります:

Name:                  oci-bv
IsDefaultClass:        No
Annotations:           meta.helm.sh/release-name=myoci,meta.helm.sh/release-namespace=default
Provisioner:           blockvolume.csi.oraclecloud.com
Parameters:            <none>
AllowVolumeExpansion:  <unset>
MountOptions:          <none>
ReclaimPolicy:         Delete
VolumeBindingMode:     WaitForFirstConsumer
Events:                <none>