1.10. 클러스터 프록시 애드온 활성화


일부 환경에서는 관리형 클러스터가 방화벽 뒤에 있으며 hub 클러스터에서 직접 액세스할 수 없습니다. 액세스할 수 있도록 관리형 클러스터의 kube-api 서버에 액세스하도록 프록시 애드온을 설정하여 보다 안전한 연결을 제공할 수 있습니다.

필수 액세스: 편집기

hub 클러스터 및 관리 클러스터에 대한 클러스터 프록시 애드온을 구성하려면 다음 단계를 완료하십시오.

  1. Red Hat Advanced Cluster Management for Kubernetes hub 클러스터에서 클러스터 프록시 애드온을 활성화합니다. 자세한 내용은 고급 구성을 참조하십시오.
  2. 다음 단계를 완료하여 관리 클러스터 kube-apiserver 에 액세스하도록 kubeconfig 파일을 구성합니다.

    1. 관리 클러스터에 유효한 액세스 토큰을 제공합니다. 기본 서비스 계정이 default 네임스페이스에 있다고 가정하여 서비스 계정의 해당 토큰을 사용할 수 있습니다.

      1. 관리 클러스터의 컨텍스트를 사용하고 있는지 확인합니다. managed-cluster.kubeconfig 라는 파일이 관리 클러스터의 kubeconfig 파일이라고 가정합니다. 팁: --kubeconfig=managed-cluster.kubeconfig 가 있는 명령은 관리형 클러스터에서 실행되며 이 프로세스의 모든 명령은 동일한 콘솔에서 실행되어야 합니다. 다른 콘솔에서 명령을 실행하지 마십시오.
      2. 다음 명령을 실행하여 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
      3. 다음 명령을 실행하여 서비스 계정 토큰의 보안을 찾습니다.

        oc get secret -n default --kubeconfig=managed-cluster.kubeconfig | grep default-token
      4. 다음 명령을 실행하여 토큰을 복사합니다.

        export MANAGED_CLUSTER_TOKEN=$(kubectl --kubeconfig=managed-cluster.kubeconfig -n default get secret <default-token> -o jsonpath={.data.token} | base64 -d)

        default-token 을 보안 이름으로 교체합니다.

    2. Red Hat Advanced Cluster Management hub 클러스터에서 kubeconfig 파일을 구성합니다.

      1. 다음 명령을 실행하여 hub 클러스터에서 현재 kubeconfig 파일을 내보냅니다.

        oc config view --minify --raw=true > cluster-proxy.kubeconfig
      2. 편집기로 서버 파일을 수정합니다. 이 예제에서는 sed 를 사용할 때 명령을 사용합니다. OSX를 사용하는 경우 별칭 sed=gsed 를 실행합니다.

        export TARGET_MANAGE_CLUSTER=<cluster1>
        
        export NEW_SERVER=https://$(oc get route -n open-cluster-management cluster-proxy-addon-user -o=jsonpath='{.spec.host}')/$TARGET_MANAGE_CLUSTER
        
        sed -i'' -e '/server:/c\    server: '"$NEW_SERVER"'' cluster-proxy.kubeconfig
        
        export CADATA=$(oc get configmap -n openshift-service-ca kube-root-ca.crt -o=go-template='{{index .data "ca.crt"}}' | base64)
        
        sed -i'' -e '/certificate-authority-data:/c\    certificate-authority-data: '"$CADATA"'' cluster-proxy.kubeconfig

        cluster1 을 액세스하려는 관리형 클러스터 이름으로 교체합니다.

      3. 다음 명령을 입력하여 원래 사용자 자격 증명을 삭제합니다.

        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
      4. 서비스 계정의 토큰을 추가합니다.

        sed -i'' -e '$a\    token: '"$MANAGED_CLUSTER_TOKEN"'' cluster-proxy.kubeconfig
  3. 다음 명령을 실행하여 대상 관리 클러스터의 대상 네임스페이스에 있는 모든 Pod를 나열합니다.

    oc get pods --kubeconfig=cluster-proxy.kubeconfig -n <default>

    default 네임스페이스를 사용하려는 네임스페이스로 바꿉니다.

이제 hub 클러스터가 관리 클러스터의 kube-api 와 통신합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.