Kubernetes에서 GitLab Runner와 함께 Podman 사용
OpenShift 및 비-OpenShift Kubernetes 클러스터에서 GitLab Runner와 함께 Podman을 구성하는 방법을 설명합니다. root 및 non-root 사용자 설정을 포함합니다.
Podman은 컨테이너를 개발, 관리 및 실행하기 위한 오픈 소스 Open Container Initiative (OCI) 도구입니다. Podman은 CI 작업에서 root 사용자나 호스트에서의 권한 상승 없이 컨테이너 이미지를 빌드할 수 있는 구성을 제공합니다. 이 문서는 OpenShift 및 비-OpenShift Kubernetes 클러스터에서 GitLab Runner와 함께 Podman을 사용하도록 구성하는 방법에 대해 다룹니다. 이 구성은 root 및 non-root 사용자로 설정된 컨테이너 이미지에 적용됩니다. 비-OpenShift Kubernetes 클러스터에서 Podman 실행 # --privileged 플래그가 true 로 설정된 non-root 사용자로 Podman 실행 # Warning --privileged 플래그를 true 로 설정하여 Podman을 실행하면, 컨테이너 엔진은 추가 보안 제어 여부에 관계없이 컨테이너를 실행합니다. non-root 컨테이너 프로세스로 non-root 사용자로 Podman을 실행하려면: .gitlab-ci.yml 파일의 다음 샘플 코드를 사용하여 Podman으로 컨테이너 이미지를 만드세요: variables: FF_USE_POWERSHELL_PATH_RESOLVER: "true" FF_RETRIEVE_POD_WARNING_EVENTS: "true" FF_PRINT_POD_EVENTS: "true" FF_SCRIPT_SECTIONS: "true" CI_DEBUG_SERVICES: "true" GIT_DEPTH: 5 HOME: /my_custom_dir DOCKER_HOST: tcp://docker:2375 podman-privileged-test: image: quay.io/podman/stable before_script: - podman info - id script: - podman build . -t playground-bis:testing 다음 구성을 config.toml 파일에 추가하여 기본 user_id 를 1000 으로 설정하세요: [runners.kubernetes.pod_security_context] run_as_user = 1000 [runners.kubernetes.build_container_security_context] run_as_user = 1000 다음 러너 구성을 config.toml 파일에 추가하세요: listen_address = ":9252" concurrent = 3 check_interval = 1 log_level = "debug" log_format = "runner" connection_max_age = "15m0s" shutdown_timeout = 0 [session_server] session_timeout = 1800 [[runners]] name = "investigation" limit = 50 url = "https://gitlab.com/" id = 0 token = "glrt-REDACTED" token_obtained_a
