인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
에이전트 업데이트 관리
에이전트를 사용하지 않는 모드지원하는 많은 Teleport 리소스 가 있지만, 에이전트 배치는 때때로 더 간단하고 편리합니다. 그러나 대규모 Teleport 배치에서는 모든 에이전트를 업데이트하는 추가적인 부담이 발생할 수 있습니다.
Teleport는 apt
, yum
또는 zypper
패키지 관리자를 사용하는 systemd 기반 Linux 배포판 및 Kubernetes 클러스터에 대해 자동 에이전트 업데이트를 지원합니다.
업데이트 로직 및 실패 모드
업데이트 프로그램은 에이전트와 함께 배포되어 업데이트를 책임지는 소프트웨어입니다. 여러 에이전트를 업데이트하려면 여러 업데이트 프로그램이 필요합니다.
우리는 업데이트 프로그램이 Teleport와 최대한 분리되도록 설계했습니다. 업데이트 프로그램은 에이전트가 Teleport 클러스터에 조인할 수 없을 때에도 에이전트를 업데이트할 수 있습니다. 손상된 버전을 푸시할 수 있지만, 리소스에 수동으로 연결하고 에이전트를 수정하지 않고도 항상 롤백/롤포워드가 가능해야 합니다.
업데이트 프로그램은 주기적으로 버전 서버에서 대상 버전을 가져오고 에이전트를 해당 버전으로 업데이트합니다. 에이전트를 재시작하면 현재 열린 세션이 중단될 수 있으므로, 두 가지 경우에만 에이전트 업데이트를 진행합니다: 유지 보수 기간 동안 또는 에이전트 상태가 좋지 않을 때입니다.
자동 업데이트가 등록된 클러스터에서 에이전트는 Teleport 클러스터에서 유지 보수 일정을 검색하여 저장합니다. 유지 보수 일정이 사용 가능할 경우 업데이트 프로그램은 이를 존중합니다. 그러나 업데이트 프로그램이 유지 보수 일정을 찾을 수 없는 경우 에이전트를 불량하다고 간주하고 가능한 한 빨리 업데이트를 수행합니다. 마찬가지로 업데이트 프로그램이 에이전트가 불량하다고 감지하면, 저하된 상태에서 회복하기 위해 대기 중인 업데이트를 즉시 적용합니다.
우리는 추가적인 failsafe를 구현했습니다: 중요한 유지 보수 토글입니다. 버전 서버는 업데이트가 중요하다고 지정할 수 있습니다. 중요한 업데이트는 업데이트 프로그램이 정기 유지 보수 기간 외부에 있더라도 적용됩니다.
보안
에이전트를 업데이트할 때 업데이트 프로그램은 배포하기 전에 새 버전의 진위를 확인합니다. apt
, yum
또는 zypper
를 사용하는 Linux 배포판에서는 기존 패키지 서명 시스템을 사용합니다. Kubernetes 기반 환경에서는 OCI 이미지 서명( cosign의 서명)을 검증합니다.
버전 서버 및 진실의 원천
에이전트 버전은 다음 제약을 받습니다:
- 에이전트는 절대 Proxy 또는 Auth 서비스 버전을 초과해서는 안 됩니다,
- 에이전트는 항상 Proxy 또는 Auth 서비스 버전보다 한 개의 주요 버전 이하이어야 합니다.
최고의 관행은 에이전트 버전을 Proxy 및 Auth 버전과 항상 맞추는 것입니다. Auth 및 Proxy를 업그레이드하려면 Teleport 클러스터 업그레이드 가이드를 따르십시오.
이러한 이유로 모든 업데이트 프로그램은 Teleport 클러스터와 호환되는 버전을 대상으로 하는 릴리스 채널에 구독해야 합니다. Teleport Cloud 사용자는 stable/cloud
릴리스 채널이 있는 Teleport Cloud 버전 서버를 사용해야 합니다. 자체 호스팅 Teleport 사용자는 자신의 버전 서버를 호스팅하고 Auth 및 Proxy 인스턴스를 업데이트할 때마다 릴리스 채널을 업데이트하거나 stable/rolling
채널을 사용해야 합니다.
Teleport Cloud
Teleport Cloud를 사용하는 경우, 인스턴스가 자동 업데이트에 등록되어 있는 경우에만 Teleport Cloud의 버전 서버를 사용할 수 있습니다. 이 버전 서버는 항상 기능, 호환성, 보안 및 안정성 측면에서 최고의 버전을 목표로 합니다.
Teleport Cloud 제어 평면이 자동으로 업데이트되지 않는 경우 자동 에이전트 업데이트를 사용해서는 안 됩니다. 이는 Teleport 인스턴스 버전이 다른 Teleport Cloud 인스턴스와 다를 수 있으며 최신 에이전트 버전을 지원하지 않을 수 있기 때문입니다.
자체 호스팅 Teleport
Teleport Enterprise를 자체 호스팅하는 경우 자동 에이전트 업데이트를 설정할 수 있습니다.
업데이트 도구는 버전 채널을 사용하여 에이전트의 대상 버전을 가져옵니다.
Teleport Proxy Service는 현재 버전과 일치하는 기본 버전 채널을 제공합니다.
기본 버전을 구성하고 추가 채널 버전을 설정할 수 있습니다.
현재 Teleport Proxy Service 및 Teleport Auth Service 버전과 호환되는 버전 채널을 보장할 책임이 있습니다.
또한 모든 에이전트가 건강하고 올바른 버전을 실행하고 있는지 확인하기 위해 에이전트의 상태 및 배포 상태를 모니터링해야 합니다.
다음 단계
자체 호스팅 사용자들은 먼저 자체 호스팅 자동 에이전트 업그레이드 설정을 해야 합니다.
그 후에 업그레이드 절차 의 일부로 자동 업데이트에 가입할 에이전트를 설정할 수 있습니다.