|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Rancherを使ったSUSE Storageのインストール
Rancher Apps Marketplaceを通じてSUSE Storageをインストールする利点の一つは、RancherがSUSE StorageのUIへの認証を提供することです。
SUSE Storageの新しいバージョンが利用可能な場合、`Apps Marketplace`画面に`Upgrade Available`のサインが表示されます。`Upgrade`ボタンをクリックしてLonghorn Managerをアップグレードできます。アップグレードする方法の詳細は、ここをご覧ください。
前提条件
SUSE StorageがインストールされているKubernetesクラスターの各ノードは、これらの要件を満たす必要があります。
Longhornコマンドラインツールを使用して、SUSE Storage環境の潜在的な問題を確認できます。
認証
`longhorn-system`ネームスペースを作成するには、次のコマンドを実行します:
kubectl create namespace longhorn-system
Kubernetes認証ドキュメントに従って、`longhorn-system`ネームスペースにシークレットを作成します。
kubectl create secret docker-registry application-collection \
--docker-server=dp.apps.rancher.io \
--namespace=longhorn-system \
--docker-username=<your-username-or-service-account-username> \
--docker-password=<access-token-or-service-account-secret>
インストール
RancherのデフォルトのLonghornコミュニティチャートの代わりにSUSE Application CollectionからSUSE Storageをインストールするには、SUSE StorageのためにSUSE Application Collectionチャートリポジトリを指す新しいリポジトリをRancherに設定します。プロセスの詳細とチャートリポジトリの認証方法については、 このガイドを参照してください。
以下の手順は、Rancherでの例を提供します。詳細な手順については、Rancherのドキュメントを参照してください。
-
Rancherで、アプリ > *リポジトリ*に移動します。
-
*Create*ボタンをクリックします。
-
ラジオボタンで*OCIリポジトリ*を選択し、認証と共にOCIチャートレジストリパス`oci://dp.apps.rancher.io/charts/suse-storage`を入力し、次に*Create*をクリックします。
リポジトリは正常に追加されるはずです。
-
アプリ > *チャート*で、インストール可能な`suse-storage`を確認できます。
-
[インストール]をクリックします。
-
オプション:SUSE Storageをインストールしたいプロジェクトを選択してください。
-
オプション:デフォルトの設定をカスタマイズしてください。
SUSE Rancher Primeを使用している場合は、Container Registry for Rancher System Container Imagesを有効にし、値を`dp.apps.rancher.io`に設定することが必須です。これにより、正しいレジストリからイメージが取得されます。
-
[次へ]をクリックします。yamlエディタで、`application-collection`の値を`global.imagePullSecrets`フィールドに追加してください。
-
次へをクリックしてください。SUSE Storageは`longhorn-system`ネームスペースにインストールされます。
-
SUSE Storageアプリアイコンをクリックして、SUSE Storageダッシュボードに移動します。
SUSE Storageがインストールされた後、Rancherの左パネルから*Longhorn*オプションに移動することでSUSE Storage UIにアクセスできます。
ネットワークポリシーが有効な状態でUIにアクセスする
ネットワークポリシーが有効な場合、RancherからUIへのアクセスが制限されることに注意してください。
Rancherは、remotedialerというサービスを介してSUSE Storage UIと対話します。このサービスは、Rancherと管理するダウンストリームクラスター間の接続を容易にします。このサービスにより、ユーザーエージェントはRancherサーバー上のエンドポイントを介してクラスターにアクセスできます。Remotedialerは、Kubernetes APIサーバーをプロキシとして使用してSUSE Storage UIサービスに接続します。
ただし、ネットワークポリシーが有効な場合、Kubernetes APIサーバーは異なるノード上のポッドに到達できない可能性があります。これは、Kubernetes APIサーバーが専用のポッドごとのIPアドレスなしでホストのネットワークネームスペース内で動作するために発生します。Calico CNIプラグインを使用している場合、ホストのネットワークネームスペース内の任意のプロセス(APIサーバーなど)がポッドに接続すると、CalicoがパケットをIPIPでカプセル化してリモートホストに転送します。トンネルアドレスは、リモートホストが戻りパケットを正しくカプセル化することを知るためにソースとして選択されます。
言い換えれば、プロキシがネットワークポリシーで機能するようにするためには、各ノードのトンネルIPを特定し、ポリシーで明示的に許可する必要があります。
トンネルIPは次の方法で見つけることができます:
$ kubectl get nodes -oyaml | grep "Tunnel"
projectcalico.org/IPv4VXLANTunnelAddr: 10.42.197.0
projectcalico.org/IPv4VXLANTunnelAddr: 10.42.99.0
projectcalico.org/IPv4VXLANTunnelAddr: 10.42.158.0
projectcalico.org/IPv4VXLANTunnelAddr: 10.42.80.0
次に、トンネルIPを使用してネットワークポリシーでトラフィックを許可します。クラスターに新しいノードが追加されるたびに、ネットワークポリシーを更新する必要があるかもしれません。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: longhorn-ui-frontend
namespace: longhorn-system
spec:
podSelector:
matchLabels:
app: longhorn-ui
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: 10.42.197.0/32
- ipBlock:
cidr: 10.42.99.0/32
- ipBlock:
cidr: 10.42.158.0/32
- ipBlock:
cidr: 10.42.80.0/32
ports:
- port: 8000
protocol: TCP
問題を解決する別の方法は、サーバーノードを`egress-selector-mode: cluster`で実行することです。詳細については、 RKE2サーバー構成リファレンスおよび K3sコントロールプレーンエグレスセレクター構成を参照してください。