새로운 향상된 런타임

Migrate to Containers의 원래 Linux 서비스 관리자는 sysv initsystemd에 의존했습니다. 간소화된 Linux 서비스 관리자가 간소화된 컨테이너화 대안으로 이를 대체합니다.

간소화된 이 Linux 서비스 관리자에는 마이그레이션된 컨테이너 워크로드를 배포하는 기능이 추가되었습니다.

  • GKE Autopilot 클러스터

  • Cloud Run

간소화된 Linux 서비스 관리자는 또한 Kubernetes 플러그인 관련 호환성 문제를 해결해 줍니다. 예를 들어 간소화된 Linux 서비스 관리자를 사용할 때는 deployment_spec.yaml 파일에서 /sys/fs/cgroup에 대해 hostpath를 정의할 필요가 없고 권한이 부여된 컨테이너를 만들 필요가 없습니다.

시작하기 전에

  • Migrate to Containers는 VM 워크로드에서 실행하는 도구를 제공하여 컨테이너의 마이그레이션에 적합한 워크로드를 판단합니다. 자세한 내용은 적합성 평가 도구 사용을 참조하세요.

GKE Autopilot 클러스터 정보

Autopilot은 Google Kubernetes Engine(GKE)의 작업 모드입니다. Autopilot은 클러스터 관리의 운영 비용을 줄이고 클러스터를 프로덕션에 최적화하고 가용성이 더 높은 워크로드를 얻도록 설계되었습니다. Autopilot 모드에서 GKE는 노드와 노드 풀을 포함한 클러스터의 기본 인프라를 프로비저닝 및 관리하여 자동화된 환경을 갖춘 최적화된 클러스터를 제공합니다.

자세한 내용은 Autopilot 개요를 참조하세요.

Cloud Run 정보

Cloud Run은 웹 요청 또는 Pub/Sub 이벤트를 통해 호출 가능한 스테이트리스(Stateless) 컨테이너를 실행할 수 있게 해 주는 관리형 컴퓨팅 플랫폼입니다. 간소화된 Linux 서비스 관리자를 사용하면 Cloud Run에 마이그레이션된 컨테이너 워크로드를 배포할 수 있습니다.

Migrate to Containers 및 GKE에서 워크로드 아이덴티티 사용

Migrate to Containers 및 GKE를 사용하면 마이그레이션된 워크로드를 Google Distributed Cloud에 배포할 수 있습니다. 처리 클러스터 및 배포 클러스터와 동일한 클러스터를 사용할 수 있습니다. 배포 클러스터에서 워크로드 아이덴티티를 사용 설정한 경우 Migrate to Containers 및 GKE를 지원하도록 배포 환경을 구성해야 합니다.

또한 init 프로세스의 일부로 시작된 모든 서비스가 워크로드 아이덴티티에 대해 올바르게 구성되었는지 확인해야 합니다. 수행하는 단계는 클러스터의 서비스 관리자에 따라 다릅니다. 구성 단계는 Linux 워크로드를 대상 클러스터에 배포를 참조하세요.

기존 런타임의 변경사항

간소화된 Linux 서비스 관리자를 사용하려면 다음과 같은 기존 런타임과의 변경사항 및 제한사항에 주의해야 합니다.

새 services-config.yaml 아티팩트 파일 추가됨

간소화된 Linux 서비스 관리자를 사용 설정하면 마이그레이션 아티팩트를 생성할 때 Migrate to Containers에 새 아티팩트 파일 services-config.yaml가 생성됩니다. 이 파일을 사용하여 배포된 컨테이너에서 애플리케이션 초기화를 제어합니다. 자세한 내용은 services-config.yaml 사용을 참조하세요.

준비 상태 프로브

현재 런타임을 사용하면 Migrate to Containers가 deployment_spec.yaml 파일에 준비 상태 프로브를 추가합니다. 간소화된 Linux 서비스 관리자를 사용 설정할 때는 준비 프로브가 추가되지 않습니다.

준비 상태 프로브를 추가하려면 HTTP 준비 상태 프로브를 사용하는 것이 좋습니다. 자세한 내용은 준비 상태 프로브 정의를 참조하세요.

        readinessProbe:
          exec:
            command:
            - /.m4a/gamma status

그러나 이 프로브는 거짓음성 결과를 반환할 수 있습니다.

syslog 지원

간소화된 Linux 서비스 관리자는 syslog 지원을 위해 /dev/log에 Unix 소켓을 만듭니다. 간소화된 Linux 서비스 관리자는 Kubernetes에서 컨테이너 로그로 기록되도록 이러한 로그 메시지를 stdout으로 전달합니다.

제한사항

간소화된 Linux 서비스 관리자를 사용할 때는 다음 제한사항에 주의해야 합니다.

워크로드 제한사항

간소화된 Linux 서비스 관리자는 다음 유형의 워크로드에서 가장 효과적입니다.

이미지 운영체제 서비스
Compute Engine Ubuntu 12.04 Ubuntu 12.04 apache2
Compute Engine Ubuntu 14.04 Ubuntu 14.04 redis, mysql, apache2
Compute Engine Ubuntu 18.04 Ubuntu 18.04 apache2, mysql, redis-server, tomcat
RHEL SAP 7.4 Red Hat httpd
Bitnami Ubuntu bitnami
Compute Engine Memcached 이미지 Debian 10.9 bitnami
Compute Engine Marketplace wordpress Debian 9.13 apache2, mysql, php
Compute Engine Marketplace tomcat Debian 9.13 tomcat8
Compute Engine Marketplace jenkins Debian 10.9 apache2, jenkins
Compute Engine Marketplace moodle Debian 9.13 apache2, mysql, php7.4 fpm, phpsessionclean
Compute Engine Marketplace Odoo Debian 9.13 odoo, nginx
Compute Engine Marketplace Opencart Debian 9.13 apache2, mysql, php7.0 fpm, supervisor, mariadb
Compute Engine Marketplace Erpnext Debian 10.9 nginx, redis-server, supervisor, mariadb
Compute Engine Marketplace wildfly Debian 10.10 wildfly, cron

systemd 제한사항

systemd를 init 시스템으로 사용하는 경우에는 다음 제한사항에 유의하세요.

  • simple, exec, notifysystemd 서비스 유형exec 서비스로 처리됩니다. 즉, exec가 성공하면 서비스가 시작된 것으로 간주됩니다.

  • 알림 소켓은 READY=1 메시지에서만 sd_notify()에 대해 지원됩니다.

    필요한 경우 다른 준비 확인을 제공할 수 있습니다. 예를 들어 HTTP 검사 또는 다른 유형의 검사를 합니다.

  • 소켓 유형 단위 파일은 지원되지 않습니다. 소켓은 생성되지 않으며 환경 변수가 생성되지 않습니다.

버전 1.9.0 업데이트

버전 1.9.0의 간소화된 Linux 서비스 관리자에는 다음 업데이트가 포함됩니다.

  • Linux 서비스 관리자는 정식 버전으로 출시되었고 더 이상 공개 미리보기 상태가 아닙니다.

  • Autopilot 지원을 위한 기존 컨테이너 워크로드 변환 절차가 변경되었습니다. 이제 이를 변환하려면 기존 마이그레이션에 대해 Dockerfile 및 deployment_spec.yaml 파일을 모두 수정해야 합니다.

  • config.yaml 파일 이름이 services-config.yaml로 변경되었습니다.

버전 1.8.1 업데이트

간소화된 Linux 서비스 관리자는 원래 Migrate to Containers 버전 1.8의 일부로 공개 미리보기로 출시되었습니다. 버전 1.8.1의 간소화된 Linux 서비스 관리자에는 다음 업데이트가 포함됩니다.

  • 더 이상 간소화된 Linux 서비스 관리자를 사용 설정하기 위해 마이그레이션 계획에서 주석을 설정하지 않습니다. 대신 v2kServiceManager를 설정합니다. 자세한 내용은 Autopilot 클러스터에 컨테이너 배포를 참조하세요.

  • 환경 변수 HC_GAMMA_RUNTIMEHC_V2K_SERVICE_MANAGER로 이름 변경되었습니다.

  • services-config.yaml 파일의 prestartpoststart 항목은 이제 자동으로 채워집니다. 자세한 내용은 services-config.yaml 사용을 참조하세요.

  • 전역 수준 또는 애플리케이션 수준에서 환경 변수를 지정할 수 있도록 services-config.yaml 파일에 대한 지원이 추가되었습니다. 자세한 내용은 services-config.yaml 사용을 참조하세요.

  • Cloud Logging에 기록된 로그 데이터를 맞춤설정할 수 있게 해주는 로깅 지원이 추가되었습니다. 자세한 내용은 Cloud Logging에 기록된 로그 데이터 맞춤설정을 참조하세요.

다음 단계