비컨테이너 환경에서 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 설치하기:
-
Teleport 에디션에 따라 edition을(를) 다음 중 하나로 지정합니다:
에디션 값 Teleport Enterprise Cloud cloud
Teleport Enterprise (자체 호스팅) enterprise
Teleport Community Edition oss
-
설치할 Teleport의 버전을 확인합니다. 클러스터에서 자동 에이전트 업데이트가 활성화되어 있는 경우, 업데이터와 호환되는 최신 Teleport 버전을 쿼리합니다:
TELEPORT_DOMAIN=example.teleport.comTELEPORT_VERSION="$(curl https://$TELEPORT_DOMAIN/v1/webapi/automaticupgrades/channel/default/version | sed 's/v//')"그렇지 않으면, Teleport 클러스터의 버전을 확인합니다:
TELEPORT_DOMAIN=example.teleport.comTELEPORT_VERSION="$(curl https://$TELEPORT_DOMAIN/v1/webapi/ping | jq -r '.server_version')" -
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 ActiveActive: 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 ActiveActive: 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 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-path | teleport 이진 파일의 전체 경로입니다. | --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 문서를 참조하세요.