機械翻訳について

8 構成ファイルを使用したクイック・インストール

構成ファイルを使用して、ベア・メタル・ホストまたは仮想マシン(Kubernetesクラスタを含む)にOracle Cloud Native Environmentをインストールします。

これにより、Kubernetesクラスタを含むベア・メタル・ホストにOracle Cloud Native Environmentの基本的なデプロイメントが設定されます。

必要なノード: 少なくとも3つのノード。 これらを次に示します。

  • オペレータ・ノード: オペレータ・ノードとして使用する1つのノード。これは、Platform CLI (olcnectl)を使用してインストールを実行したり、Platform API Serverをホストしたりするために使用されます。

  • Kubernetesコントロール・プレーン: Kubernetesコントロール・プレーン・ノードとして使用する1つ以上のノード。

  • Kubernetesワーカー: Kubernetesワーカー・ノードとして使用する1つ以上のノード。

始める前に: 前提条件の設定を完了します。 「事前設定」を参照してください。

構成ファイルを使用してクイック・インストールを実行するには:

  1. オペレータ・ノードで、デプロイメントのOracle Cloud Native Environment構成ファイルを作成します。 Oracle Cloud Native Environment構成ファイルの作成の詳細は、「プラットフォーム・コマンドライン・インタフェース」を参照してください。 この例では、構成ファイルに対してファイル名myenvironment.yamlを使用します。

    基本的な構成ファイルの例は次のとおりです:

    environments:
      - environment-name: myenvironment
        globals:
          api-server: operator.example.com:8091
          selinux: enforcing
        modules:
          - module: kubernetes
            name: mycluster
            args:
              container-registry: container-registry.oracle.com/olcne
              control-plane-nodes: 
                - control1.example.com:8090
              worker-nodes:
                - worker1.example.com:8090
                - worker2.example.com:8090

    この構成ファイルの例では、デフォルト設定を使用して、単一のコントロール・プレーン・ノードと2つのワーカー・ノードを持つKubernetesクラスタを作成します。 リストされているノードは、自分のホストのノードに変更してください。

    プライベートCA証明書は、デフォルト設定を使用して自動的に作成され、通信を保護するために各ノードに配布されます。 独自の事前生成された証明書を使用する場合は、olcne-ca-patholcne-node-cert-path、およびolcne-node-key-pathオプションを使用して証明書のロケーションを指定します。 構成ファイルを使用して証明書をプロビジョニングする前に、その証明書がノードに配置されている必要があります。 たとえば、globalsセクションは次のようになります:
        globals:
          api-server: operator.example.com:8091
          selinux: enforcing
          olcne-ca-path: /etc/olcne/certificates/ca.cert
          olcne-node-cert-path: /etc/olcne/certificates/node.cert
          olcne-node-key-path: /etc/olcne/certificates/node.key

    ヒント:

    olcnectl certificates distributeコマンドを使用して独自のキー・マテリアルを使用して独自の証明書を生成し、ノードにコピーできます。 olcnectl certificates generateおよびolcnectl certificates copyコマンドも参照してください。

    デフォルトでは、KubernetesサービスのexternalIPsへのアクセスを制御するKubernetesサービスがデプロイされます。 プライベートCA証明書も、デフォルト値を使用してこの目的のために自動的に生成されます。 独自の証明書を使用する場合は、Kubernetesモジュールのargsセクションのrestrict-service-externalip-ca-certrestrict-service-externalip-tls-certおよびrestrict-service-externalip-tls-keyオプションを使用してロケーションを含めます。 restrict-service-externalip-cidrsオプションを使用して、KubernetesサービスからアクセスできるIPアドレスを設定することもできます。 たとえば、argsセクションは次のようになります:
            args:
              container-registry: container-registry.oracle.com/olcne
              control-plane-nodes: 
                - control1.example.com:8090
              worker-nodes:
                - worker1.example.com:8090
                - worker2.example.com:8090
              restrict-service-externalip-ca-cert: /etc/olcne/certificates/restrict_external_ip/ca.cert
              restrict-service-externalip-tls-cert: /etc/olcne/certificates/restrict_external_ip/node.cert
              restrict-service-externalip-tls-key: /etc/olcne/certificates/restrict_external_ip/node.key 
              restrict-service-externalip-cidrs: 192.0.2.0/24,198.51.100.0/24           
    このサービスをデプロイしない場合は、構成ファイルでrestrict-service-externalip: falseオプションを使用します。 たとえば、argsセクションは次のようになります:
            args:
              container-registry: container-registry.oracle.com/olcne
              control-plane-nodes: 
                - control1.example.com:8090
              worker-nodes:
                - worker1.example.com:8090
                - worker2.example.com:8090
              restrict-service-externalip: false           

    KubernetesサービスでのexternalIPsへのアクセスの設定の詳細は、「コンテナ・オーケストレーション」を参照してください。

    Kubernetesモジュールとともにデプロイする他のモジュールを含める場合は、構成ファイルに追加します。 外部ロード・バランサを含み、他のモジュールをインストールする構成ファイルのより複雑な例を次に示します:

    environments:
      - environment-name: myenvironment
        globals:
          api-server: operator.example.com:8091
          selinux: enforcing
        modules:
          - module: kubernetes
            name: mycluster
            args:
              container-registry: container-registry.oracle.com/olcne
              load-balancer: lb.example.com:6443
              control-plane-nodes: 
                - control1.example.com:8090
                - control2.example.com:8090
                - control3.example.com:8090
              worker-nodes:
                - worker1.example.com:8090
                - worker2.example.com:8090
                - worker3.example.com:8090
            - module: operator-lifecycle-manager
              name: myolm
              args:
                olm-kubernetes-module: mycluster
            - module: istio
              name: myistio
              args: 
                istio-kubernetes-module: mycluster
  2. オペレータ・ノードで、 --config-fileオプションを指定してolcnectl provisionコマンドを使用してインストールを開始します。 たとえば:

    olcnectl provision --config-file myenvironment.yaml

    SSHログイン資格証明、プロキシ・サーバー情報、--yesオプションを使用してプロンプトを自動的に受け入れるオプションなど、必要なコマンド・オプションが他にもいくつかあります。 olcnectl provisionコマンドの構文オプションの詳細は、「プラットフォーム・コマンドライン・インタフェース」を参照してください。

  3. 各ノードで実行するステップのリストが表示され、続行するためのプロンプトが表示されます。 たとえば、コントロール・プレーン・ノードでは、変更は次のようになります:

    ? Apply control-plane configuration on control1.example.com:
    * Install oracle-olcne-release
    ...
    * Install and enable olcne-agent
    
    Proceed? yes/no(default) yes                          

    yesと入力して続行します。 ノードが設定されます。

    各ノードの変更に関する情報が表示されます。 各ノードの設定ステップを確認する必要があります。

    ヒント:

    各ノードでの変更を受け入れないようにするには、olcnectl provisionコマンドで--yesコマンド・オプションを使用します。

  4. ノードはOracle Cloud Native Environmentプラットフォームで設定され、モジュールがインストールされます。 次の構文を使用して環境に関する情報を表示できます:

    olcnectl module instances 
    --api-server host_name:8091 
    --environment-name name

    ヒント:

    将来のolcnectlコマンドで--api-serverオプションを入力する必要がないようにするには、--update-configオプションを追加します。

    たとえば:

    olcnectl module instances \
    --api-server operator.example.com:8091 \
    --environment-name myenvironment \
    --update-config

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

    INFO[...] Global flag configuration for myenvironment has been written to the 
    local Platform config and you don't need to specify them for any future calls 
    INSTANCE                   MODULE      STATE    
    control1.example.com:8090  node        installed
    ...
    mycluster                  kubernetes  installed

    デプロイメントの詳細を表示するには、olcnectl module reportコマンドを使用します。 たとえば:

    olcnectl module report \
    --environment-name myenvironment \
    --name mycluster \
    --children
  5. コントロール・プレーン・ノードでKubernetes CLI (kubectl)を設定します。 kubectlコマンドは、クラスタ内の各コントロール・プレーン・ノードにインストールされます。 これを使用してクラスタにアクセスするには、Kubernetes構成ファイルを使用して構成する必要があります。

    コントロール・プレーン・ノードにログインし、ホーム・ディレクトリ内のターミナルに次のコマンドをコピーして貼り付けます:

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    export KUBECONFIG=$HOME/.kube/config
    echo 'export KUBECONFIG=$HOME/.kube/config' >> $HOME/.bashrc

    次のような任意のkubectlコマンドを使用して、kubectlコマンドを使用できることを確認します:

    kubectl get pods --all-namespaces

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

    NAMESPACE              NAME                          READY   STATUS    RESTARTS   AGE
    externalip-validat...  externalip-validation-...     1/1     Running   0          1h
    kube-system            coredns-...                   1/1     Running   0          1h
    kube-system            coredns-...                   1/1     Running   0          1h
    kube-system            etcd-...                      1/1     Running   2          1h
    kube-system            etcd-...                      1/1     Running   2          1h
    kube-system            kube-apiserver-...            1/1     Running   2          1h
    kube-system            kube-apiserver-...            1/1     Running   2          1h
    kube-system            kube-controller-manager-...   1/1     Running   5 (1h ago) 1h
    kube-system            kube-controller-manager-...   1/1     Running   2          1h
    kube-system            kube-flannel-...              1/1     Running   0          1h
    kube-system            kube-flannel-...              1/1     Running   0          1h
    kube-system            kube-flannel-...              1/1     Running   0          1h
    kube-system            kube-proxy-...                1/1     Running   0          1h
    kube-system            kube-proxy-...                1/1     Running   0          1h
    kube-system            kube-proxy-...                1/1     Running   0          1h
    kube-system            kube-scheduler-...            1/1     Running   5 (1h ago) 1h
    kube-system            kube-scheduler-...            1/1     Running   2          1h
    kubernetes-dashboard   kubernetes-dashboard-...      1/1     Running   0          1h

    ノート:

    デプロイメント後、オペレータ・ノードのローカル・ディレクトリにKubernetes構成ファイルが作成されます。 このファイルにはkubeconfig.environment_name.cluster_nameという名前が付けられ、Kubernetesクラスタに関する情報が含まれます。 このファイルは便宜上作成され、コントロール・プレーン・ノードにkubectlを設定する必要はありません。

    複数のクラスタがある場合、このファイルを使用して、より大きいKubernetes構成ファイルに追加できます。 複数のクラスタへのアクセスの構成の詳細は、アップストリーム「Kubernetesドキュメント」を参照してください。

ヒント:

Kubernetesクラスタをスケーリングするノードの追加および削除

Kubernetesクラスタのノードを変更する場合は、更新されたコントロール・プレーンおよびワーカー・ノード・リストを使用してolcnectl provisionコマンドを再度実行: 新しいノード・リストから外したノードはクラスタから削除されますが、指定した新しいノードはクラスタに追加されます。

ノードを追加する場合、新しい証明書が自動的に生成され、新しいノードにインストールされます。Oracle Cloud Native Environmentソフトウェアがインストールされ、ノードがKubernetesクラスタに追加されます。 ただし、必要な「事前設定」を使用してすべての新しいノードが設定されていること、および外部ロード・バランサを使用している場合、新しいコントロール・プレーン・ノードがロード・バランサに追加されていることを確認する必要があります。