Infograb logo
Kubernetes 애플리케이션 검색 시작하기

Teleport는 Kubernetes 클러스터에서 실행 중인 애플리케이션을 자동으로 감지하고 이를 Teleport 클러스터에 등록할 수 있습니다. 이 설정에서는 Kubernetes 호스팅 인프라를 가진 사용자가 배포하는 새로운 애플리케이션에 대해 초기 설정 단계 이외의 수동 개입 없이 안전한 접근을 구성할 수 있습니다.

이 가이드에서는 Kubernetes 애플리케이션 자동 검색을 활성화하는 방법을 보여줍니다.

전제 조건

  • 실행 중인 Teleport 클러스터 버전 이상. Teleport를 시작하려면, 가입하기 위해 무료 평가판에 등록하거나 데모 환경 설정하기를 참조하세요.

  • tctl 관리 도구와 tsh 클라이언트 도구.

    tctltsh 다운로드에 대한 지침은 설치를 방문하세요.

  • Kubernetes 클러스터 버전 >= v1.17.0

  • Helm >= 3.4.2

    Helm과 Kubernetes가 설치되어 있고 최신 상태인지 확인하세요.

    helm version

    version.BuildInfo{Version:"v3.4.2"}


    kubectl version

    클라이언트 버전: version.Info{Major:"1", Minor:"17+"}

    서버 버전: version.Info{Major:"1", Minor:"17+"}

  • 당신의 Teleport 클러스터에 연결할 수 있는지 확인하려면, tsh login으로 로그인한 다음 현재 자격 증명을 사용하여 tctl 명령어를 실행할 수 있는지 확인하십시오.

    예를 들어:

    tsh login --proxy=teleport.example.com --user=email@example.com
    tctl status

    클러스터 teleport.example.com

    버전 16.2.0

    CA 핀 sha256:abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678

    클러스터에 연결하고 tctl status 명령어를 실행할 수 있다면, 현재 자격 증명을 사용하여 작업대에서 후속 tctl 명령어를 실행할 수 있습니다.

    자신의 Teleport 클러스터를 호스팅하는 경우, Teleport 인증 서비스를 호스팅하는 컴퓨터에서 전체 권한으로 tctl 명령어를 실행할 수도 있습니다.

단계 1/2. 조인 토큰 생성

Teleport Kubernetes 서비스, 애플리케이션 서비스 및 검색 서비스를 실행할 새로운 Teleport 에이전트에 대한 조인 토큰을 생성합니다:

tctl tokens add --type=kube,app,discovery

기본적으로 discovery 역할을 활성화하면 Kubernetes 서비스의 검색과 Teleport 애플리케이션의 등록이 자동으로 시작됩니다. 차트에서 app 역할을 활성화하면 발견된 Kubernetes 서비스에서 생성된 모든 새로운 Teleport 애플리케이션을 프록시하는 프로세스가 시작됩니다.

단계 2/2. 에이전트 배포

Kubernetes 클러스터에 새로운 Teleport 에이전트를 설치하려면 teleport-kube-agent Helm 차트를 사용할 수 있습니다. 이미 Teleport 에이전트가 설치되어 있는 경우, 아래와 같이 역할에 kube, appdiscovery를 추가하여 Kubernetes 애플리케이션 검색을 활성화할 수 있습니다.

구성된 서비스를 실행하는 새로운 Teleport 에이전트를 배포하려면 teleport-kube-agent Helm 차트를 설치합니다:

helm install teleport-agent teleport/teleport-kube-agent \ --set roles=kube\,app\,discovery \ --set kubeClusterName=main-cluster \ --set proxyAddr=proxy-address \ --set authToken=token \ --create-namespace \ --namespace=teleport

기존의 teleport-kube-agent 설치가 있고 Kubernetes 애플리케이션 검색을 활성화하려면 기존 설치 역할을 업데이트하여 kube, app, 및 discovery 역할을 포함해야 합니다:

helm upgrade teleport-agent teleport/teleport-kube-agent \ --reuse-values \ --set roles=kube\,app\,discovery \ --set authToken=token \ --namespace=teleport

문제 해결

먼저, Teleport 검색, 애플리케이션 및 Kubernetes 서비스에 대한 모든 예상 에이전트가 실행 중인지 확인하세요. 그들을 위해 생성한 토큰은 필요한 역할을 가지고 있어야 합니다.

에이전트가 실행 중이지만 예상되는 애플리케이션이 Teleport에 나타나지 않는 경우, 두 가지 주요 이유가 있을 수 있습니다:

  • Teleport 검색 서비스가 관련 Kubernetes 서비스를 찾을 수 없습니다.
  • Teleport 애플리케이션 서비스가 발견된 애플리케이션을 프록시할 수 없습니다.

검색 서비스가 실행되는 Kubernetes 서비스 계정이 클러스터의 서비스를 나열할 수 있는 충분한 권한을 가지고 있는지 확인하세요. 또한 레이블 및 네임스페이스 구성이 올바른지 확인하세요.

애플리케이션 서비스의 경우, resources 필드의 레이블이 올바르게 정의되어 있는지 확인하고, 특히 레이블 teleport.dev/kubernetes-cluster가 Kubernetes 클러스터에서 실행 중인 Discovery 서비스의 discovery_group 필드와 일치하는지 확인하세요.

다음 단계

검색 서비스의 범위를 구성할 수 있습니다. 자세한 내용은 teleport-kube-agent Helm 차트 문서를 참조하세요.

Teleport 원문 보기