k3sへのコンテナ化されたSUSE Managerプロキシのインストール
1. k3sのインストール
コンテナホストマシン上でロードバランサとtraefikルータを使用せずにk3s
をインストールします(<K3S_HOST_FQDN>
をk3sホストのFQDNに置き換えます)。
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable=traefik --disable=servicelb --tls-san=<K3S_HOST_FQDN>" sh -
2. クラスタアクセスの設定
helm
には、ターゲットKubernetesクラスタに接続するための設定ファイルが必要です。
クラスタサーバマシン上で次のコマンドを実行して、kubeconfig-k3s.yaml
設定ファイルを作成します。 kubeconfig-k3s.yaml
ファイルは必要に応じて作業マシンに転送できます。
kubectl config view --flatten=true | sed 's/127.0.0.1/<K3S_HOST_FQDN>/' >kubeconfig-k3s.yaml
helm
を呼び出す前に、次のコマンドを実行します。
export KUBECONFIG=/path/to/kubeconfig-k3s.yaml
3. helmのインストール
Containersモジュールが |
インストールするには、次のコマンドを実行します。
zypper in helm
4. metalLB
のインストール
MetalLB
は、SUSE Managerプロキシポッドサービスを外部に公開するロードバランサです。 インストールするには、次のコマンドを実行します。
helm repo add metallb https://metallb.github.io/metallb helm install --create-namespace -n metallb metallb metallb/metallb
MetalLB
では、使用する仮想IPアドレス範囲を知るための設定が必要です。 この例では、仮想IPアドレスは192.168.122.240
から192.168.122.250
になりますが、ホストがSUSE Managerプロキシのみを公開している場合は、その範囲を単一のアドレスに狭めることができます。 これらのアドレスは、サーバネットワークのサブセットである必要があります。
次の設定および配備されたネットワークに対応するIPアドレス範囲を指定して、metallb-config.yaml
設定ファイルを作成します。
apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: l2-pool namespace: metallb spec: addresses: - 192.168.122.240-192.168.122.250 --- apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: l2 namespace: metallb spec: ipAddressPools: - l2-pool
次のコマンドを実行して、この設定を適用します。
kubectl apply -f metallb-config.yaml
5. SUSE Managerプロキシhelmチャートの配備
SUSE ManagerプロキシサービスにMetalLB
が使用するIPアドレスを強制する設定ファイルを作成します。 このIPアドレスは、プロキシ設定の作成時にプロキシFQDNが入力されたアドレスである必要があります。 また、プロキシに接続するには、SUSE Managerサーバとクライアントシステムの両方から解決できる必要があります。
次の例では、192.168.122.241
を使用します。
次の内容を含むcustom-values.yaml
ファイルを作成します。 MetalLB
IPアドレス範囲に1つのアドレスしか含まれていない場合は、最後の行を削除できます。
services: annotations: metallb.universe.tf/allow-shared-ip: key-to-share-ip metallb.universe.tf/loadBalancerIPs: 192.168.122.241
パラメータ |
SUSE Managerプロキシポッドで使用するボリュームのストレージを設定するには、次のクレームに対して永続ボリュームを定義します。 詳細については、https://kubernetes.io/docs/concepts/storage/persistent-volumes/ (kubernetes)またはhttps://rancher.com/docs/k3s/latest/en/storage/ (k3s)のドキュメントを参照してください。 永続ボリュームクレームの名前は次のとおりです。
-
squid-cache-pv-claim
-
/package-cache-pv-claim
-
/tftp-boot-pv-claim
コンテナ化されたSUSE Managerプロキシの設定に記載されているように、SUSE Managerプロキシの設定を作成します。 設定tar.gz
ファイルをコピーして抽出し、helmチャートを配備します。
tar xf /path/to/config.tar.gz helm install uyuni-proxy oci://registry.suse.com/suse/manager/4.3/proxy -f config.yaml -f httpd.yaml -f ssh.yaml -f custom-values.yaml