Infograb logo
Teleport을 데몬으로 실행하기

비컨테이너 환경에서 Linux 시스템에서 teleport 이진 파일을 systemd를 사용하여 데몬으로 실행하는 것을 권장합니다. 데몬을 사용하면 teleport 프로세스가 제어 터미널 세션이나 부모 프로세스와 무관하게 실행되고 사용 가능하도록 보장할 수 있으며, 더 나은 최적화, 가동 시간 및 가용성 허용하는 추가 구성 옵션이 열립니다.

이 가이드에서는 Linux 호스트에서 systemd를 사용하여 teleport을 데몬으로 설치, 구성 및 시작하는 모범 사례를 설명합니다.

전제 조건

  • Teleport를 설치할 Linux 호스트. 호스트는 systemd를 사용하도록 구성되어 있어야 합니다. 호스트가 systemd를 지원하는지 확인하려면 /sbin/init/lib/systemd/systemd와 같은 심볼릭 링크인지 확인하세요:

    readlink /sbin/init
    /lib/systemd/systemd

Teleport는 /var/lib/teleport에 데이터를 저장합니다. 정규/비관리자 사용자가 Auth Service 호스트의 이 폴더에 접근할 수 없도록 하세요.

1단계/3. Teleport 설치 및 구성

환경에 적합한 설치 지침을 선택하고 완료하십시오.

Linux 서버에 Teleport 설치하기:

  1. Teleport 에디션에 따라 edition을(를) 다음 중 하나로 지정합니다:

    에디션
    Teleport Enterprise Cloudcloud
    Teleport Enterprise (자체 호스팅)enterprise
    Teleport Community Editionoss
  2. 설치할 Teleport의 버전을 확인합니다. 클러스터에서 자동 에이전트 업데이트가 활성화되어 있는 경우, 업데이터와 호환되는 최신 Teleport 버전을 쿼리합니다:

    TELEPORT_DOMAIN=example.teleport.com
    TELEPORT_VERSION="$(curl https://$TELEPORT_DOMAIN/v1/webapi/automaticupgrades/channel/default/version | sed 's/v//')"

    그렇지 않으면, Teleport 클러스터의 버전을 확인합니다:

    TELEPORT_DOMAIN=example.teleport.com
    TELEPORT_VERSION="$(curl https://$TELEPORT_DOMAIN/v1/webapi/ping | jq -r '.server_version')"
  3. Linux 서버에 Teleport를 설치합니다:

    curl https://cdn.teleport.dev/install-v16.2.0.sh | bash -s ${TELEPORT_VERSION} edition

    설치 스크립트는 Linux 서버에서 패키지 관리자를 감지하고 이를 사용하여 Teleport 바이너리를 설치합니다. 설치를 사용자 지정하려면 설치 가이드에서 Teleport 패키지 리포지토리에 대해 알아보세요.

Teleport가 실행되도록 하려면 구성 YAML 파일을 생성하고 구성해야 합니다. 초기 설치 후에는 구성 파일이 생성되기 전까지 존재하지 않습니다. 이 가이드는 기본값을 기반으로 최소한의 Teleport 구성을 사용할 것이지만, 프로덕션 환경에서는 설정 파일 옵션을 검토하여 필요에 맞게 조정하는 것이 좋습니다.

기본 Teleport 구성 파일을 생성하려면 다음 명령을 입력합니다:

sudo teleport configure -o file
파일 "/etc/teleport.yaml"에 구성이 작성되었습니다. 이제 서버를 시작할 수 있습니다. 즐거운 Teleporting 되세요!

2단계/3. systemd 서비스 생성 및 구성

teleport 이진 파일을 설치하고 Teleport 구성 파일을 생성했으면, 이제 Teleport 데몬을 생성하고 구성해 보겠습니다.

systemd는 유닛 파일을 사용하도록 설계되었습니다. 유닛 파일은 systemd에서 사용하는 모든 서비스 데몬을 정의하고 구성하는 데 사용되는 파일입니다. 이 가이드의 나머지 부분은 패키지 관리자 또는 소스에서의 선호하는 설치 방법에 따라 teleport 서비스 데몬을 생성하고 구성하는 데 중점을 둘 것입니다.

DEM 또는 RPM 패키지 관리자와 함께 설치된 패키지에 대한 기본 teleport 데몬 구성을 포함했습니다. 이 데몬이 올바르게 설치되었는지 확인하려면 다음 명령을 입력하십시오:

sudo systemctl status teleport

다음과 유사한 출력이 표시되며, 유닛 파일이 포함된 파일 경로(/lib/systemd/system/teleport.service)가 표시됩니다:

● teleport.service - Teleport 서비스 Loaded: loaded (/lib/systemd/system/teleport.service; disabled; vendor preset: enabled) Active: inactive (dead)

systemd teleport 데몬을 활성화하려면 다음 명령을 입력하세요. systemctl을 사용하여 데몬을 활성화하면 systemd가 데몬을 종속성 트리에 배치하여 Teleport 서비스가 잠재적인 재부팅 시 자동으로 재시작되도록 보장합니다:

sudo systemctl enable teleport

다음으로, teleport 서비스 데몬을 시작하려면 다음 명령을 입력하십시오:

sudo systemctl start teleport

서비스 상태를 확인하여 Teleport 데몬이 올바르게 설치되었는지 확인합니다. 다음 명령은 Active: active (running) 상태를 출력합니다:

sudo systemctl status teleport | grep Active
Active: active (running) since Mon 2022-04-18 18:33:41 UTC; 41s ago

Teleport가 systemd 유닛 파일을 stdout로 출력하여 검토 및 필요에 따라 적용되도록 하려면 다음 teleport 명령을 입력합니다:

teleport install systemd

출력 결과가 귀하의 환경에 대한 좋은 구성을 설명하면, 한 번 더 -o 플래그를 사용하여 출력 결과를 systemd에서 수용하는 유닛 파일 로드 경로 중 하나에 있는 파일로 작성합니다. 대부분의 사용 사례에는 유닛 파일에 대해 /etc/systemd/system/teleport.service 경로를 사용하는 것이 좋습니다:

sudo teleport install systemd -o /etc/systemd/system/teleport.service

systemd가 이를 종속성 트리에 배치할 수 있도록 systemctl을 사용하여 teleport 서비스 데몬을 활성화합니다. 이는 또한 Teleport 서비스가 잠재적인 재부팅 시 자동으로 재시작되도록 보장합니다:

sudo systemctl enable teleport

systemctl을 사용하여 teleport 서비스 데몬을 시작합니다:

sudo systemctl start teleport

마지막으로, 서비스 데몬의 상태를 확인하여 Teleport 데몬이 올바르게 설치되었는지 확인합니다. 다음 명령은 구성이 올바르게 적용되었다면 Active: active (running) 상태를 출력합니다:

sudo systemctl status teleport | grep Active
Active: active (running) since Mon 2022-04-18 18:33:41 UTC; 41s ago

3단계/3. Teleport 데몬 재시작

Teleport는 원활한 재시작을 지원하여 Teleport 구성을 쉽게 변경하거나 teleport 이진 파일을 업그레이드할 수 있습니다. 가용성을 희생하지 않고 이를 할 수 있습니다.

teleport 데몬을 원활하게 재시작하려면 다음 명령을 실행합니다:

sudo systemctl reload teleport

이는 원활한 재시작을 수행하며, 즉, Teleport 데몬은 새로운 요청을 처리하기 위해 새로운 프로세스를 포크하고, 기존 클라이언트가 연결을 끊을 때까지 이전 데몬 프로세스는 계속 실행됩니다(30시간의 타임아웃).

업그레이드

호스트를 최신 버전의 Teleport로 업그레이드하려면 다음을 수행해야 합니다:

  • Teleport 이진 파일을 교체합니다, 보통 teleporttctl.
  • systemctl reload teleport을 실행합니다.

유닛 파일 구성을 위한 Teleport 데몬 명령 줄 옵션 이해하기

teleport install systemd 명령에는 생성된 유닛 파일의 매개변수를 엄격히 정의하고 출력을 작성할 위치를 설정하는 데 사용할 수 있는 여러 선택적 플래그가 포함되어 있습니다. 다음 표에는 teleport install systemd 명령에 사용할 수 있는 모든 명령 줄 옵션과 그들이 수행하는 작업에 대한 간략한 설명과 기본 설정이 포함되어 있습니다:

플래그설명기본값
--fd-limit서비스에 의해 열 수 있는 최대 파일 설명자 수로, 유닛 파일에서 LimitNOFILE에 의해 정의됩니다.--fd-limit=8192
--env-file구성에 사용될 수 있는 잠재적 변수를 포함하는 시스템 유닛 파일에 의해 정의된 EnvironmentFile의 경로입니다.--envfile=/etc/default/teleport
--pid-file프로세스 식별 번호를 포함하는 pid 파일의 경로입니다.--pid-file=/run/teleport.pid
--teleport-pathteleport 이진 파일의 전체 경로입니다.--teleport-path=/usr/local/bin/teleport
-o, --output시스템 유닛 파일을 생성하고 저장할 위치를 정의하는 전체 유닛 파일 로드 경로입니다. 이 플래그는 출력을 지정된 파일에 작성하는 데 사용됩니다.--output=/etc/systemd/system/teleport.service

기본 구성이 항상 sudo teleport install systemd -o /etc/systemd/system/teleport.service 명령을 사용하여 생성될 수 있지만, 명령 줄 옵션을 사용하는 동일한 구성은 아래에 설명되어 있습니다:

sudo teleport install systemd \--fd-limit=8192 \--env-file=/etc/default/teleport \--pid-file=/run/teleport.pid \--teleport-path=/usr/local/bin/teleport \--output=/etc/systemd/system/teleport.service

다음 단계

이 가이드에서는 teleport start를 systemd 서비스로 실행하는 방법을 보여주었습니다. teleport 이진 파일을 통해 실행할 수 있는 모든 명령을 보려면 Teleport CLI 참조를 참조하십시오.

이 가이드에서는 최소한의 구성을 사용했지만, 프로덕션 Teleport 클러스터의 경우, 구성 참조를 참조해야 합니다.

유닛 파일 구성 및 유닛 파일 로드 경로에 대한 정보는 systemd.unit 구성에 대한 systemd 문서를 참조하세요.

Teleport 원문 보기