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 설치
|
설치하려면 다음을 실행:
helm의 zypper
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 차트 배포
MetalLB
가 SUSE Manager 프록시 서비스에 사용할 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