1.10. 클러스터 프록시 애드온 활성화
일부 환경에서는 관리형 클러스터가 방화벽 뒤에 있으며 hub 클러스터에서 직접 액세스할 수 없습니다. 액세스할 수 있도록 관리형 클러스터의 kube-api 서버에 액세스하도록 프록시 애드온을 설정하여 보다 안전한 연결을 제공할 수 있습니다.
필수 액세스: 편집기
hub 클러스터 및 관리 클러스터에 대한 클러스터 프록시 애드온을 구성하려면 다음 단계를 완료하십시오.
- Red Hat Advanced Cluster Management for Kubernetes hub 클러스터에서 클러스터 프록시 애드온을 활성화합니다. 자세한 내용은 고급 구성을 참조하십시오.
다음 단계를 완료하여 관리 클러스터
kube-apiserver에 액세스하도록kubeconfig파일을 구성합니다.관리 클러스터에 유효한 액세스 토큰을 제공합니다. 기본 서비스 계정이 default 네임스페이스에 있다고 가정하여 서비스 계정의 해당 토큰을 사용할 수 있습니다.
-
관리 클러스터의 컨텍스트를 사용하고 있는지 확인합니다.
managed-cluster.kubeconfig라는 파일이 관리 클러스터의kubeconfig파일이라고 가정합니다. 팁:--kubeconfig=managed-cluster.kubeconfig가 있는 명령은 관리형 클러스터에서 실행되며 이 프로세스의 모든 명령은 동일한 콘솔에서 실행되어야 합니다. 다른 콘솔에서 명령을 실행하지 마십시오. 다음 명령을 실행하여 Pod에 액세스할 수 있는 서비스 계정에 역할을 추가합니다.
oc create role -n default test-role --verb=list,get --resource=pods --kubeconfig=managed-cluster.kubeconfig oc create rolebinding -n default test-rolebinding --serviceaccount=default:default --role=test-role --kubeconfig=managed-cluster.kubeconfig
oc create role -n default test-role --verb=list,get --resource=pods --kubeconfig=managed-cluster.kubeconfig oc create rolebinding -n default test-rolebinding --serviceaccount=default:default --role=test-role --kubeconfig=managed-cluster.kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서비스 계정 토큰의 보안을 찾습니다.
oc get secret -n default --kubeconfig=managed-cluster.kubeconfig | grep default-token
oc get secret -n default --kubeconfig=managed-cluster.kubeconfig | grep default-tokenCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 토큰을 복사합니다.
export MANAGED_CLUSTER_TOKEN=$(kubectl --kubeconfig=managed-cluster.kubeconfig -n default get secret <default-token> -o jsonpath={.data.token} | base64 -d)export MANAGED_CLUSTER_TOKEN=$(kubectl --kubeconfig=managed-cluster.kubeconfig -n default get secret <default-token> -o jsonpath={.data.token} | base64 -d)Copy to Clipboard Copied! Toggle word wrap Toggle overflow default-token을 보안 이름으로 교체합니다.
-
관리 클러스터의 컨텍스트를 사용하고 있는지 확인합니다.
Red Hat Advanced Cluster Management hub 클러스터에서
kubeconfig파일을 구성합니다.다음 명령을 실행하여 hub 클러스터에서 현재
kubeconfig파일을 내보냅니다.oc config view --minify --raw=true > cluster-proxy.kubeconfig
oc config view --minify --raw=true > cluster-proxy.kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 편집기로
서버파일을 수정합니다. 이 예제에서는sed를 사용할 때 명령을 사용합니다. OSX를 사용하는 경우별칭 sed=gsed를 실행합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster1을 액세스하려는 관리형 클러스터 이름으로 교체합니다.다음 명령을 입력하여 원래 사용자 자격 증명을 삭제합니다.
sed -i'' -e '/client-certificate-data/d' cluster-proxy.kubeconfig sed -i'' -e '/client-key-data/d' cluster-proxy.kubeconfig sed -i'' -e '/token/d' cluster-proxy.kubeconfig
sed -i'' -e '/client-certificate-data/d' cluster-proxy.kubeconfig sed -i'' -e '/client-key-data/d' cluster-proxy.kubeconfig sed -i'' -e '/token/d' cluster-proxy.kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 계정의 토큰을 추가합니다.
sed -i'' -e '$a\ token: '"$MANAGED_CLUSTER_TOKEN"'' cluster-proxy.kubeconfig
sed -i'' -e '$a\ token: '"$MANAGED_CLUSTER_TOKEN"'' cluster-proxy.kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여 대상 관리 클러스터의 대상 네임스페이스에 있는 모든 Pod를 나열합니다.
oc get pods --kubeconfig=cluster-proxy.kubeconfig -n <default>
oc get pods --kubeconfig=cluster-proxy.kubeconfig -n <default>Copy to Clipboard Copied! Toggle word wrap Toggle overflow default네임스페이스를 사용하려는 네임스페이스로 바꿉니다.
이제 hub 클러스터가 관리 클러스터의 kube-api 와 통신합니다.