この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

高可用性のSUSE® Rancher Prime: RKE2KubernetesクラスターをSUSE Rancher Prime向けにセットアップする

このセクションでは、ランチャーサーバー環境のベストプラクティスに従ってKubernetesクラスターをインストールする方法について説明します。

前提条件

これらの手順は、このセクションに記載されているように、3つのノード、ロードバランサー、およびDNSレコードを設定したことを前提としています。

RKE2がロードバランサーと正しく動作するためには、9345ポートのスーパーバイザー用と6443ポートのKubernetes API用の2つのリスン(する)を設定する必要があります。

Rancherは、サポートされているKubernetesバージョンにインストールする必要があります。Rancherのバージョンに対してサポートされているKubernetesのバージョンを確認するには、 サポートメンテナンス条件。 RKE2のバージョンを指定するには、RKE2インストールスクリプトを実行する際にINSTALL_RKE2_VERSION環境変数を使用してください。

Kubernetesのインストール

1.Kubernetesをインストールし、SUSE® Rancher Prime: RKE2サーバーを設定する

RKE2サーバーは埋め込みetcdで動作するため、HAモードで実行するために外部データストアを設定する必要はありません。

最初のノードでは、トークンとして独自の事前共有シークレットを使用して設定ファイルを設定する必要があります。トークン引数は起動時に設定できます。

事前共有シークレットを指定しない場合、RKE2は自動的に生成し、/var/lib/rancher/rke2/server/node-tokenに配置します。

固定登録アドレスでの証明書エラーを回避するために、tls-sanパラメータを設定してサーバーを起動する必要があります。このオプションは、サーバーのTLS証明書に追加のホスト名またはIPをサブジェクト代替名として追加し、IPとホスト名の両方でアクセスしたい場合はリストとして指定できます。

まず、RKE2設定ファイルが配置されるディレクトリを作成する必要があります:

mkdir -p /etc/rancher/rke2/

次に、以下の例を使用して`/etc/rancher/rke2/config.yaml`にRKE2設定ファイルを作成します:

token: my-shared-secret
tls-san:
  - my-kubernetes-domain.com
  - another-kubernetes-domain.com

その後、インストールコマンドを実行し、rke2を有効にして開始してください。

curl -sfL https://get.rke2.io | sh -
systemctl enable rke2-server.service
systemctl start rke2-server.service
  1. 残りのノードに参加するには、各追加ノードを同じ共有トークンまたは自動的に生成されたトークンで構成する必要があります。こちらが設定ファイルの例です:

     token: my-shared-secret
     server: https://<DNS-DOMAIN>:9345
     tls-san:
       - my-kubernetes-domain.com
       - another-kubernetes-domain.com After that, you need to run the installer and enable, then start, rke2:
    
     curl -sfL https://get.rke2.io | sh -
     systemctl enable rke2-server.service
     systemctl start rke2-server.service
  2. 3番目のRKE2サーバーノードで同じコマンドを繰り返してください。

2.SUSE® Rancher Prime: RKE2 が実行中であることを確認します。

すべてのサーバーノードでrke2サーバープロセスを起動したら、クラスターが正しく立ち上がったことを確認してください。

/var/lib/rancher/rke2/bin/kubectl \
        --kubeconfig /etc/rancher/rke2/rke2.yaml get nodes
You should see your server nodes in the Ready state.

次に、クラスターのポッドの健康状態をテストします。

/var/lib/rancher/rke2/bin/kubectl \
        --kubeconfig /etc/rancher/rke2/rke2.yaml get pods --all-namespaces

*結果:*RKE2 Kubernetesクラスターを正常にセットアップしました。

3.kubeconfig ファイルを保存して使用を開始します。

各 Rancher サーバーノードに RKE2 をインストールしたとき、ノードの /etc/rancher/rke2/rke2.yamlkubeconfig ファイルが作成されました。このファイルには、クラスターへの完全なアクセス権のための資格情報が含まれており、このファイルは安全な場所に保存する必要があります。

この kubeconfig ファイルを使用するには、

  1. Kubernetes コマンドラインツール kubectl, をインストールします。

  2. /etc/rancher/rke2/rke2.yaml にあるファイルをコピーし、ローカルマシンのディレクトリ ~/.kube/config に保存します。

  3. kubeconfig ファイルでは、server ディレクティブが localhost として定義されています。サーバーをコントロールプレーンのロードバランサーの DNS として、ポート 6443 で構成します。(RKE2 Kubernetes API サーバーはポート 6443 を使用し、Rancher サーバーはポート 80 および 443 で Traefik Ingress を介して提供されます。)詳細については、 Rancher が提供する RKE2 クラスターでの Ingress NGINX から Traefik への移行 を参照してください。)ここに例を示します:rke2.yaml

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: [CERTIFICATE-DATA]
    server: [LOAD-BALANCER-DNS]:6443 # Edit this line
  name: default
contexts:
- context:
    cluster: default
    user: default
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: default
  user:
    password: [PASSWORD]
    username: admin

*結果:*これで kubectl を使用して RKE2 クラスターを管理できます。複数の kubeconfig ファイルがある場合は、kubectl を使用する際にファイルへのパスを渡すことで、使用するファイルを指定できます。

kubectl --kubeconfig ~/.kube/config/rke2.yaml get pods --all-namespaces

`kubeconfig`ファイルの詳細については、https://documentation.suse.com/cloudnative/rke2/latest/en/cluster_access.html[RKE2 ドキュメント] または 公式 Kubernetes ドキュメント(`kubeconfig`ファイルを使用したクラスターアクセスの整理について)を参照してください。

4.クラスターのポッドの健康状態を確認してください。

`kubeconfig`ファイルを設定したので、`kubectl`を使用してローカルマシンからクラスターにアクセスできます。

すべての必要なポッドとコンテナが健康で、続行する準備ができていることを確認してください。

/var/lib/rancher/rke2/bin/kubectl --kubeconfig /etc/rancher/rke2/rke2.yaml get pods -A
NAMESPACE     NAME                                                    READY   STATUS      RESTARTS   AGE
kube-system   cloud-controller-manager-rke2-server-1                  1/1     Running     0          2m28s
kube-system   cloud-controller-manager-rke2-server-2                  1/1     Running     0          61s
kube-system   cloud-controller-manager-rke2-server-3                  1/1     Running     0          49s
kube-system   etcd-rke2-server-1                                      1/1     Running     0          2m13s
kube-system   etcd-rke2-server-2                                      1/1     Running     0          87s
kube-system   etcd-rke2-server-3                                      1/1     Running     0          56s
kube-system   helm-install-rke2-canal-hs6sx                           0/1     Completed   0          2m17s
kube-system   helm-install-rke2-coredns-xmzm8                         0/1     Completed   0          2m17s
kube-system   helm-install-traefik-crd-z8vsz                          0/1     Completed   0          2m17s
kube-system   helm-install-traefik-flwnl                              0/1     Completed   0          2m17s
kube-system   helm-install-rke2-metrics-server-7sggn                  0/1     Completed   0          2m17s
kube-system   kube-apiserver-rke2-server-1                            1/1     Running     0          116s
kube-system   kube-apiserver-rke2-server-2                            1/1     Running     0          66s
kube-system   kube-apiserver-rke2-server-3                            1/1     Running     0          48s
kube-system   kube-controller-manager-rke2-server-1                   1/1     Running     0          2m30s
kube-system   kube-controller-manager-rke2-server-2                   1/1     Running     0          57s
kube-system   kube-controller-manager-rke2-server-3                   1/1     Running     0          42s
kube-system   kube-proxy-rke2-server-1                                1/1     Running     0          2m25s
kube-system   kube-proxy-rke2-server-2                                1/1     Running     0          59s
kube-system   kube-proxy-rke2-server-3                                1/1     Running     0          85s
kube-system   kube-scheduler-rke2-server-1                            1/1     Running     0          2m30s
kube-system   kube-scheduler-rke2-server-2                            1/1     Running     0          57s
kube-system   kube-scheduler-rke2-server-3                            1/1     Running     0          42s
kube-system   rke2-canal-b9lvm                                        2/2     Running     0          91s
kube-system   rke2-canal-khwp2                                        2/2     Running     0          2m5s
kube-system   rke2-canal-swfmq                                        2/2     Running     0          105s
kube-system   rke2-coredns-rke2-coredns-547d5499cb-6tvwb              1/1     Running     0          92s
kube-system   rke2-coredns-rke2-coredns-547d5499cb-rdttj              1/1     Running     0          2m8s
kube-system   rke2-coredns-rke2-coredns-autoscaler-65c9bb465d-85sq5   1/1     Running     0          2m8s
kube-system   traefik-7c844b766f-m9p2w                                1/1     Running     0          52s
kube-system   traefik-7c844b766f-s4l9k                                1/1     Running     0          52s
kube-system   rke2-metrics-server-6564db4569-vdfkn                    1/1     Running     0          66s

結果:`kubectl`を使用してクラスターにアクセスできることを確認し、RKE2クラスターが正常に実行されていることを確認しました。これで、Rancher管理サーバーをクラスターにインストールできます。