|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
SUSE® Rancher Prime: OS Manager コマンドライン方式
このガイドに従って、RKE2/k3s を使って自動デプロイされたクラスターを Rancher で管理します。必要なのは SUSE® Rancher Prime: OS Manager ISO だけです。
前提条件
-
Rancherサーバー(v2.7.0以降)が設定されている(server-urlが設定済み)
-
Rancher `server-url`を設定するには、https://documentation.suse.com/cloudnative/rancher-manager/latest/en/rancher-admin/rancher-admin.html#_first_log_in[Rancherのドキュメント]を確認してください
-
-
TPM 2.0を搭載したマシン(ベアメタルまたは仮想化)
-
ヒント 1:Libvirtは、仮想マシンのために仮想TPMを設定することを許可します こちらに例があります
-
ヒント 2:TPM 2.0モジュールがないベアメタルマシンでTPMエミュレーションを有効にできます こちらに例があります
-
ヒント 3:x86-64でUEFI(BIOSではなく)を使用していることを確認してください。さもなければ.isoが起動しません
-
ヒント 4:最小ボリュームサイズは25 GBを推奨します。詳細については、SUSE® Rancher Prime: OS Managerパーティションテーブルを参照してください
-
ヒント 5:CPUとRAMの要件は、インストールされているKubernetesのバージョンに依存します。例えば、https://documentation.suse.com/cloudnative/k3s/latest/en/installation/requirements.html#_hardware[K3s]やhttps://documentation.suse.com/cloudnative/rke2/latest/en/install/requirements.html#_hardware[RKE2]などです
-
-
Helmパッケージマネージャー(https://helm.sh/)
-
Arm®(aarch64)用 - 1つのSDカード(32 GB以上、*高速*である必要があります - 書き込み速度40 MB/sが許容されます)とインストール用のUSBメモリ
SUSE® Rancher Prime: OS Managerオペレーターをインストールします。
`elemental-operator`は管理エンドポイントで、管理クラスターを実行し、インベントリやマシンの登録などを行います。
Helmパッケージマネージャーを使用して、elemental-operatorチャートをクラスターにインストールします。
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.suse.com/rancher/elemental-operator-crds-chart
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator oci://registry.suse.com/rancher/elemental-operator-chart
数秒後、`cattle-elemental-system`ネームスペースにオペレーターポッドが表示されるはずです。
kubectl get pods -n cattle-elemental-system
NAME READY STATUS RESTARTS AGE
elemental-operator-64f88fc695-b8qhn 1/1 Running 0 16s
{elemental-product-name}オペレーターのチャートはOCIレジストリを介して配布されます。Helmはv3.8.0リリースからOCIベースのレジストリを正しくサポートしています。
{elemental-product-name} CRDが埋め込まれているelemental-operatorリリースからアップグレードする場合、elemental-operator-crdsチャートのインストールは失敗します。
まずelemental-operatorチャートをアップグレードし、その後にelemental-operator-crdsチャートをインストールする必要があります。
非安定なインストール
上記のHelmチャートに加えて、他に2つの`non-stable`バージョンが利用可能です。
-
*ステージング:*はGithubからの最新のタグ付きリリースを指します。これは次のページに文書化されています。
-
*開発:*は、GithubのHEAD(最新のコミット)を指します。これは進行中の開発バージョンで、常に変更されています。
-
ステージングバージョン(x86-64、ARM64(Raspberry Pi 4))
-
開発バージョン(x86-64、ARM64(Raspberry Pi 4))
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-crds-chart
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator oci://registry.opensuse.org/isv/rancher/elemental/staging/charts/rancher/elemental-operator-chart
|
メモ
開発バージョンは本番環境には推奨されません。SlackまたはGithub Issuesを通じてフィードバックを歓迎しますが、これは不安定であり、通知なしに削除される可能性のある実験的な機能を含むことがあります。 |
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-crds-chart
helm upgrade --create-namespace -n cattle-elemental-system --install --set image.imagePullPolicy=Always elemental-operator oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart
Kubernetesリソースを準備します
ノードのデプロイメントは、`MachineRegistration`同じ設定(ディスクドライブ、ネットワークなど)を共有する一連のマシンを特定するから始まります。
`MachineRegistration`は、ターゲットホストにSUSE® Rancher Prime: OS Manager OSをデプロイするために必要です。起動時に、各ホストはSUSE® Rancher Prime: OS Managerオペレーターに登録され、新しいホストを`MachineInventory`リソースで追跡します。
次に、クラスターリソースを持ち、どのマシンがそのクラスターに属するかを知るために`MachineInventorySelectorTemplate`を使用します。
このセレクターは、MachineInventory`に設定されたラベルに基づくシンプルなマッチャーです。セレクターがラベル`cluster-id`の値`cluster-id-val`にマッチし、`MachineInventory`が同じ`cluster-id:``cluster-id-val`ラベルを持っている場合、それはマッチし、クラスターの一部として起動します。
このクイックスタートでは、volcano_という名前のクラスターをプロビジョニングするためのリソースをデプロイします。このクラスターは、ラベル_element:fireを持つMachineInventoryにマッチします。
-
リソースYAMLを手動で作成する
-
SUSE® Rancher Prime: OS Managerドキュメントリポジトリからのクイックスタートファイルを直接使用
次のファイルを作成する必要があります:
Unresolved include directive in modules/ja/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/selector.yaml[]
ご覧の通り、これはキー`element`、値`fire`のラベルが設定された`MachineInventory`を探す非常にシンプルなセレクターです。
Unresolved include directive in modules/ja/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/cluster.yaml[]
ご覧の通り、machineConfigRef`は種類`MachineInventorySelectorTemplate`で名前`fire-machine-selector`です:それは私たちが作成したセレクターにマッチします。https://documentation.suse.com/cloudnative/rancher-manager/latest/en/cluster-deployment/configuration/rke2.html#_machineglobalconfig[`machineGlobalConfig]やhttps://documentation.suse.com/cloudnative/rancher-manager/latest/en/cluster-deployment/configuration/rke2.html#_machineselectorconfig[machineSelectorConfig]のようなクラスターオプションに関する詳細情報は、https://documentation.suse.com/cloudnative/rancher-manager/latest/en/about-rancher/what-is-rancher.html[Rancher Managerのドキュメント]で直接取得できます。
-
登録
-
Raspberry Piの登録
Unresolved include directive in modules/ja/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/registration.yaml[]
Unresolved include directive in modules/ja/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/rpi-registration.yaml[]
Raspberry Piにデプロイするには、エミュレートされたTPMを有効にする必要があります(Raspberry Pi用のハードウェアTPMを持っている場合を除く)。また、`disable-boot-entry: true`を介してEFIストアへの書き込みを無効にする必要があります(Raspberry Piにはそれがないため)。
`MachineRegistration`は、登録およびインストールの構成を定義します。作成されると、SUSE® Rancher Prime: OS Managerオペレーターは、管理クラスターにアクセスし、インストール中にマシンを登録するために`elemental-register`バイナリと共に使用されるユニークなURLを公開します。登録が成功すると、オペレーターはマシンを追跡する`MachineInventory`を作成し、これを使用してマシンをクラスターのノードとしてプロビジョニングできます。ここで、セレクターに一致するラベルを定義しますが、作成された`MachineInventory`に後で追加することもできます。
|
上記のregistration.yamlを修正して、ノード構成に基づいて有効なデバイスを指す適切なインストールデバイスを設定してください(例:/dev/sda、/dev/vda、/dev/nvme0など)。 Raspberry PiのSDカードは通常`/dev/mmcblk0`です。 |
-
シードイメージ(x86_64)
-
Raspberry Pi用シードイメージ
Unresolved include directive in modules/ja/pages/quickstarts/quickstart-cli.adoc - include::example$quickstart/seedimage.yaml[]
`SeedImage`は、ターゲットマシンでSUSE® Rancher Prime: OS Managerによるプロビジョニングを起動するための、ブート可能なISO(いわゆる*シードイメージ*)を生成するために必要です。
すべての設定ファイルを定義したので、これらを適用してKubernetesに適切なリソースを作成しましょう:
kubectl apply -f selector.yaml
kubectl apply -f cluster.yaml
kubectl apply -f registration.yaml
kubectl apply -f seedimage.yaml
`SeedImage`リソースは、シードイメージ(ブート可能なイメージ)を自動的に作成するもので、Raspberry PiのISOはまだサポートしていません(生のディスクイメージを作成するためのガイドは[こちら](raspi-disk.md)をクリックしてください)。
次のセクションで手動で*シードイメージ*を生成します。
すべての設定ファイルを定義したので、これらを適用してKubernetesに適切なリソースを作成しましょう:
kubectl apply -f selector.yaml
kubectl apply -f cluster.yaml
kubectl apply -f registration.yaml
[SUSE® Rancher Prime: OS Managerドキュメントリポジトリ](https://github.com/rancher/elemental-docs)からクイックスタートの例リソースファイルを直接適用できます。
|
クイックスタートの例リソースファイルは、ターゲットホストのデフォルトストレージが`/dev/sda`にマッピングされていると仮定しています。ホストストレージデバイスファイルが異なる場合は、適用する前にregistration.yamlファイルを変更し、`config.elemental.install.device`をそれに応じて変更する必要があります。 |
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/selector.yaml
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/cluster.yaml
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/registration.yaml
kubectl apply -f https://raw.githubusercontent.com/rancher/elemental-docs/main/examples/quickstart/seedimage.yaml
|
現在、`seedimage.yaml`はaarch64をサポートしていません。 |
インストール(シード)イメージの準備
これが最後のステップです:初期登録構成を含むSUSE® Rancher Prime: OS Managerシードイメージが必要です。これにより、自動登録、インストール、およびクラスターの一部として完全に展開されることができます。
|
メモ
初期登録構成ファイルは、`Machine Registration`を作成するときに生成されます。 次のようにダウンロードできます:
|
登録設定ファイルの内容は、ノードが登録するために必要な登録URL、適切なサーバー証明書、および登録プロセスのためのいくつかのオプションに過ぎません。
生成されたシードイメージは、任意の数のマシンをプロビジョニングするために使用できます。
-
クイックスタート.isoのダウンロード
-
シードイメージ(aarch64)を手動で準備する
上記の`SeedImage`リソースによって作成されたシードイメージは、次のスクリプトを介してISOとしてダウンロードできます:
kubectl wait --for=condition=ready pod -n fleet-default fire-img
wget --no-check-certificate `kubectl get seedimage -n fleet-default fire-img -o jsonpath="{.status.downloadURL}"` -O elemental.x86_64.iso
最初のコマンドはISOが構築されて準備が整うのを待ち、2番目のコマンドはそれを現在のディレクトリに`elemental-x86_64.iso`という名前でダウンロードします。
SUSE® Rancher Prime: OS ManagerのRaspberry Piへのサポートは、現時点では主にデモ目的のためのものです。したがって、インストールプロセスはx86-64に似たモデルになっています。シードイメージ(この場合はUSBスティック)からブートし、ストレージメディア(Raspberry Pi用のSDカード)にインストールします。
事前構築されたシードイメージを取得中
wget -q https://download.opensuse.org/repositories/isv:/Rancher:/SUSE® Rancher Prime OS Manager:/Stable/containers/rpi.raw
ダウンロードの確認中
ダウンロードしたアーティファクトの整合性を確認するために、チェックサムの確認を行う必要があります:
wget -q https://download.opensuse.org/repositories/isv:/Rancher:/SUSE® Rancher Prime OS Manager:/Stable/containers/rpi.raw.sha256 sha256sum -c rpi.raw.sha256
これにより、`rpi.raw: OK`が出力として表示されるはずです。
登録情報の注入中
`initial-registration.yaml`の追加はまだスクリプト化されていません。これはまだ手動の処理です:
書き込まれたUSBスティックには2つのパーティションがあります。`RPI_BOOT`にはブートローダーファイルが含まれ、`COS_LIVE`にはSUSE® Rancher Prime: OS Managerファイルが含まれています。`COS_LIVE`パーティションをマウントし、`initial-registration.yaml`を`livecd-cloud-config.yaml`としてこのパーティションに書き込みます。
ファイルマネージャーでUSBスティックをマウントしている場合、このコマンドは登録情報をコピーするために機能するはずです:
sudo cp initial-registration.yaml /run/media/$USER/COS_LIVE/livecd-cloud-config.yaml
CLIツールを使用することを好む場合:
IMAGE=rpi.raw
DEST=$(mktemp -d)
SECTORSIZE=$(sfdisk -J $\{IMAGE} | jq '.partitiontable.sectorsize')
DATAPARTITIONSTART=$(sfdisk -J $\{IMAGE} | jq '.partitiontable.partitions[1].start')
sudo mount -o rw,loop,offset=$(($\{SECTORSIZE}*$\{DATAPARTITIONSTART})) $\{IMAGE} $\{DEST}
sudo cp initial-registration.yaml $\{DEST}/livecd-cloud-config.yaml
sudo umount $\{DEST}
rmdir $\{DEST}
USBメモリにシードイメージを書き込む
`.raw`イメージは、USBメモリに書き込んでブートするために必要です。これは、Linuxコマンドラインで`dd`を使用して行うことができます。このコマンドに慣れている場合は、[openSUSE](Linux(Windows(OS X(https://en.opensuse.org/SDB:Create_a_Live_USB_stick_using_macOS)のストレージメディアにイメージを書き込む方法に関する良い指示があります。
ラズベリーパイを起動する
USBメモリをアンマウントし、ラズベリーパイに接続してください。
大きな(32GB以上の)高速 (!!) マイクロSDカードを対応するスロットに挿入してください。
システムをイーサネットに接続します。
電源のサイクルを行うと、Piが再起動します。他のすべてはx86-64と同じです。
|
マイクロSDカードがパーティションが作成されていない状態であることを確認してください。そうしないと、Piのブートローダーがそれから起動しようとして失敗します。 |
このイメージでノードを起動できるようになり、ノードは次のことを行います:
-
指定されたregistrationURLで登録し、マシンごとの`MachineInventory`を作成します。
-
指定されたデバイスにSLE Microをインストールします。
-
再起動
クラスターに参加するための適切なマシンを選択します。
MachineInventorySelectorTemplate`は、element:fire_ラベルを持つ `machineInventoryLabels`マップに_element:fireラベルを追加したので、すべてのMachineInventoryからクラスターをプロビジョニングするために必要なマシンを選択します。
`MachineRegistrationMachineInventoryはすでにそのラベルを持っています。
`MachineRegistration`からラベルをスキップし、後で追加することもできます:
kubectl -n fleet-default label machineinventory $(kubectl get machineinventory -n fleet-default --no-headers -o custom-columns=":metadata.name") element=fire
MachineInventoryが_element_:fireを持っていると、対応するマシンは選択したプロバイダー(k3s/rke)を介してクラスターを自動的にデプロイします。
数分後、新しいクラスターが完全にプロビジョニングされます!!
クラスターのためにKubernetesのバージョンとデプロイヤーをどのように選択できますか?
あなたのcluster.yamlファイルには、`Spec`というキーがあり、`kubernetesVersion`と呼ばれています。それは、クラスターに使用されるバージョンとデプロイヤーを設定します。例えば、rke2の場合はKubernetesv1.24.8が`v1.24.8+rke2r1`となり、k3sの場合は`v1.24.8+k3s1`です。
すべての互換性のあるバージョンを確認するには、rke/rke2/k3sのバージョンとそのコンポーネントについてのhttps://www.suse.com/suse-rancher/support-matrix/all-supported-versions/[Rancher Support Matrix] PDFを確認してください。
これらのバージョンを取得する方法を知るために、私たちのVersion docを確認することもできます。
`Cluster`リソースに関する詳細情報については、私たちのCluster Specページを確認してください。
裏で何が起こっているかをどのように追跡できますか?
機械が何をしているかを次の方法で追跡できるはずです:
-
ISOブート中:
-
マシンにsshで接続します(ユーザー/パス:root/ros):
-
`journalctl -f -t elemental`を実行すると、登録の進行状況(elemental-register)とSUSE® Rancher Prime: OS Managerのインストール(elemental install)が表示されます。
-
-
-
システムがインストールされたら:
-
Rancher UIの-> `Cluster Management`では、新しいクラスターとクラスターの詳細にある`Provisioning Log`を見ることができます。
-
マシンにsshで接続します(ユーザー/パス:registration.yamlの`Spec.config.cloud-config.users`の下で設定した内容に応じて):
-
`journalctl -f -u elemental-system-agent`を実行すると、初期のelemental設定と`rancher-system-agent`のインストールの出力が表示されます。
-
`journalctl -f -u rancher-system-agent`を実行すると、k3sなどのクラスタコンポーネントの起動の出力が表示されます。
-
`journalctl -f -u k3s`を実行すると、k3sデプロイメントのログが表示されます。
-
-
オプション:CLIを介してElemental UI拡張機能をインストールします。
公式のRancher Extensionsリポジトリを追加するために、新しいClusterRepoを作成して適用します。
apiVersion: catalog.cattle.io/v1
kind: ClusterRepo
metadata:
name: rancher-ui-charts
spec:
gitBranch: main
gitRepo: https://github.com/rancher/ui-plugin-charts
Rancher UI拡張チャートのためのhelmリポジトリを追加してください。
helm repo add rancher-ui-plugins https://raw.githubusercontent.com/rancher/ui-plugin-charts/main/
Elemental UI拡張機能をインストールしてください。
helm install elemental rancher-ui-plugins/elemental -n cattle-ui-plugin-system