Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

4.2. 클러스터 변수 구성

Ansible 설치 중에 글로벌 클러스터 환경 변수를 할당하려면 /etc/ansible/hosts 파일의 [OSEv3:vars] 섹션에 추가합니다. 각 매개변수 값을 별도의 줄에 배치해야 합니다. 예를 들면 다음과 같습니다.

[OSEv3:vars]

openshift_master_identity_providers=[{'name': 'htpasswd_auth',
'login': 'true', 'challenge': 'true',
'kind': 'HTPasswdPasswordIdentityProvider',}]

openshift_master_default_subdomain=apps.test.example.com
중요

Ansible 인벤토리 파일의 매개변수 값에 #, { 또는 } 와 같은 특수 문자가 포함된 경우 값을 두 번 이스케이프해야 합니다(즉, 단일 및 이중 따옴표 모두에서 값 묶기). 예를 들어, mypasswordwith###hashsigns 를 변수 openshift_cloudprovider_openstack_password 의 값으로 사용하려면 Ansible 호스트 인벤토리 파일에서 openshift_cloudprovider_openstack_password='mypasswordwith###hashsigns" 로 선언합니다.

다음 표에서는 Ansible 설치 프로그램에서 사용할 글로벌 클러스터 변수를 설명합니다.

표 4.1. 일반 클러스터 변수

변수목적

ansible_ssh_user

이 변수는 설치 프로그램의 SSH 사용자를 사용하고 기본값은 root 로 설정합니다. 이 사용자는 암호 없이 SSH 기반 인증을 허용해야 합니다. SSH 키 기반 인증을 사용하는 경우 SSH 에이전트에서 키를 관리해야 합니다.

ansible_become

ansible_ssh_userroot 가 아닌 경우 이 변수를 true 로 설정하고 암호 없이 sudo 에 대해 사용자를 구성해야 합니다.

debug_level

이 변수는 systemd-journald.service 에 기록된 INFO 메시지를 설정합니다. 다음 중 하나를 설정합니다.

  • 오류 및 경고만 기록하기 위한 0
  • 2 정상적인 정보를 기록하는 것입니다 (이는 기본 수준입니다.)
  • 디버깅 수준 정보를 기록하기 위한 4
  • 6 API 수준 디버깅 정보(요청/응답)를 기록합니다.
  • 8 에서 본문 수준 API 디버깅 정보를 기록합니다.

디버그 로그 수준에 대한 자세한 내용은 로깅 수준 구성을 참조하십시오.

openshift_clock_enabled

클러스터 노드에서 NTP(Network Time Protocol)를 활성화할지 여부입니다. 기본값은 true입니다.

chrony 패키지가 설치된 경우 NTP 서비스를 제공하도록 구성됩니다. chrony 패키지가 설치되지 않은 경우 설치 플레이북은 NTP 서비스를 제공하도록 ntp 패키지를 설치하고 구성합니다.

중요

클러스터의 마스터와 노드가 동기화되지 않도록 하려면 이 매개변수의 기본값을 변경하지 마십시오.

openshift_master_admission_plugin_config

이 변수는 인벤토리 호스트 파일의 요구 사항에 따라 매개변수 및 임의의 JSON 값을 설정합니다. 예를 들면 다음과 같습니다.

openshift_master_admission_plugin_config={"ClusterResourceOverride":{"configuration":{"apiVersion":"v1","kind":"ClusterResourceOverrideConfig","memoryRequestToLimitPercent":"25","cpuRequestToLimitPercent":"25","limitCPUToMemoryPercent":"200"}}}

이 값 에서 openshift_master_admission_plugin_config={"openshift.io/ImagePolicy":{"configuration":{"apiVersion":"v1","executionRules":[{"matchImageAnnotations":[{"key":"images.openshift.io/deny-execution","value":"true}] "name":"execution-denied","onResources":[{"resource":"pods"},{"resource":"builds"},"reject":true,"skipOnResolutionFailure":true],"kind":"ImagePolicyConfig"}}} 은 기본 매개변수 값입니다.

중요

사용자 정의 설정을 추가해야 하는 경우에도 기본 openshift_master_admission_plugin_config 값을 포함해야 합니다.

openshift_master_audit_config

이 변수는 API 서비스 감사를 활성화합니다. 자세한 내용은 감사 구성을 참조하십시오.

openshift_master_audit_policyfile

감사 정책 파일의 위치를 제공합니다. 자세한 내용은 감사 정책 구성을 참조하십시오.

openshift_master_cluster_hostname

이 변수는 클러스터의 호스트 이름을 덮어씁니다. 기본값은 마스터의 호스트 이름입니다.

openshift_master_cluster_public_hostname

이 변수는 클러스터의 공용 호스트 이름을 덮어씁니다. 기본값은 마스터의 호스트 이름입니다. 외부 로드 밸런서를 사용하는 경우 외부 로드 밸런서의 주소를 지정합니다.

예를 들면 다음과 같습니다.

openshift_master_cluster_public_hostname=openshift-ansible.public.example.com

openshift_master_cluster_method

선택 사항: 이 변수는 여러 마스터를 배포할 때 HA 메서드를 정의합니다. 네이티브 메서드를 지원합니다. 자세한 내용은 여러 마스터를 참조하십시오.

openshift_rolling_restart_mode

이 변수를 사용하면 업그레이드 플레이북을 직접 실행할 때 HA 마스터(즉, 마스터가 한 번에 하나씩 다운됨)의 롤링 재시작을 활성화합니다. 기본값은 마스터에서 서비스를 롤백할 수 있는 서비스입니다. 대신 마스터 노드를 완전히 다시 시작할 수 있는 롤링을 활성화하는 시스템으로 설정할 수 있습니다.

마스터의 롤링 재시작은 업그레이드 중에 제공된 Ansible 후크 를 사용하여 추가 변경 사항을 적용해야 할 수 있습니다. 수행을 위해 선택한 작업에 따라 호스트를 재부팅하여 서비스를 다시 시작할 수 있습니다.

openshift_master_identity_providers

이 변수는 ID 공급자를 설정합니다. 기본값은 모두 거부 입니다. 지원되는 ID 공급자를 사용하는 경우 이를 사용하도록 OpenShift Container Platform을 구성합니다. 여러 ID 공급자를 구성할 수 있습니다.

openshift_master_named_certificates

이러한 변수는 설치의 일부로 배포되는 사용자 정의 인증서를 구성하는 데 사용됩니다. 자세한 내용은 사용자 정의 인증서 구성을 참조하십시오.

openshift_master_overwrite_named_certificates

openshift_hosted_router_certificate

호스팅된 라우터의 사용자 정의 인증서 위치를 제공합니다.

openshift_master_ca_certificate

OpenShift Container Platform 인증서에 서명하는 단일 인증서 및 키를 제공합니다. 새 또는 사용자 지정 OpenShift Container Platform CA 재배포를 참조하십시오.

openshift_additional_ca

openshift_master_ca_certificate 매개변수의 인증서가 중간 인증서로 서명된 경우 CA에 대한 중간 및 루트 인증서의 전체 체인이 포함된 번들 인증서를 제공합니다. 새 또는 사용자 지정 OpenShift Container Platform CA 재배포를 참조하십시오.

openshift_redeploy_service_signer

매개변수가 false 로 설정되면 openshift-master/redeploy-certificates.yml 플레이북을 실행할 때 서비스 서명자가 재배포되지 않습니다. 기본값은 true입니다.

openshift_hosted_registry_cert_expire_days

자동 생성된 레지스트리 인증서의 유효성입니다. 기본값은 730 (2년)입니다.

openshift_ca_cert_expire_days

자동 생성된 CA 인증서의 유효 기간(일). 기본값은 1825 (5년)입니다.

openshift_master_cert_expire_days

자동 생성된 마스터 인증서의 유효 기간(일). 기본값은 730 (2년)입니다.

etcd_ca_default_days

자동 생성된 외부 etcd 인증서의 유효 기간(일). etcd CA, 피어, 서버 및 클라이언트 인증서에 대한 유효성을 제어합니다. 기본값은 1825 (5년)입니다.

openshift_certificate_expiry_warning_days

이 날짜 또는 더 적은 수에 인증서가 만료되는 클러스터 업그레이드 중단. 기본값은 365 (1년)입니다.

openshift_certificate_expiry_fail_on_warn

자동 생성 인증서가 openshift_certificate_expiry_warning_days 매개변수에 지정된 기간 동안 유효하지 않은 경우 업그레이드가 실패합니다. 기본값은 True입니다.

os_firewall_use_firewalld

기본 iptables 대신 firewalld를 사용하려면 true 로 설정합니다. RHEL Atomic Host에서는 사용할 수 없습니다. 자세한 내용은 방화벽 구성 섹션을 참조하십시오.

openshift_master_session_name

이러한 변수는 OAuth 구성의 세션 옵션에 대한 기본값을 재정의합니다. 자세한 내용은 세션 옵션 구성을 참조하십시오.

openshift_master_session_max_seconds

openshift_master_session_auth_secrets

openshift_master_session_encryption_secrets

openshift_master_image_policy_config

마스터 구성에서 imagePolicyConfig 를 설정합니다. 자세한 내용은 이미지 구성을 참조하십시오.

openshift_router_selector

라우터 Pod를 자동으로 배포하는 기본 노드 선택기입니다. 자세한 내용은 노드 호스트 레이블 구성을 참조하십시오.

openshift_registry_selector

레지스트리 Pod를 자동으로 배포하는 기본 노드 선택기입니다. 자세한 내용은 노드 호스트 레이블 구성을 참조하십시오.

openshift_template_service_broker_namespaces

이 변수는 브로커가 제공할 템플릿을 하나 이상 지정하여 템플릿 서비스 브로커를 활성화합니다.

openshift_master_bootstrap_auto_approve

이 변수를 사용하면 부트 스트랩 자동 승인을 활성화하여 부트스트랩 인증 정보를 제공하면 노드가 클러스터에 자동으로 참여할 수 있습니다. AWS(Amazon Web Services) 클러스터에서 클러스터 자동 스케일링 을 활성화하는 경우 true 로 설정합니다. 기본값은 false입니다.

ansible_service_broker_node_selector

Ansible 서비스 브로커 포드, 기본값 {"node-role.kubernetes.io/infra":"true"} 를 자동으로 배포하는 기본 노드 선택기입니다. 자세한 내용은 노드 호스트 레이블 구성을 참조하십시오.

osm_default_node_selector

이 변수는 마스터 구성 파일의 projectConfig.defaultNodeSelector 필드에 정의된 Pod를 배치할 때 프로젝트가 기본적으로 사용할 노드 선택기를 재정의합니다. 정의되지 않은 경우 기본값은 node-role.kubernetes.io/compute=true 입니다.

openshift_docker_additional_registries

OpenShift Container Platform은 지정된 추가 레지스트리 또는 레지스트리를 docker 구성에 추가합니다. 다음은 검색할 레지스트리입니다. 레지스트리에서 80 이외의 포트에 액세스해야 하는 경우 < address>:<port > 형식으로 필요한 포트 번호를 포함합니다.

예를 들면 다음과 같습니다.

openshift_docker_additional_registries=example.com:443
참고

대체 레지스트리를 사용하도록 클러스터를 구성해야 하는 경우 openshift_docker_additional_registries 대신 oreg_url 을 설정합니다.

openshift_docker_insecure_registries

OpenShift Container Platform은 지정된 추가 비보안 레지스트리 또는 레지스트리를 docker 구성에 추가합니다. 이러한 레지스트리의 경우 SSL(Secure Sockets Layer)이 확인되지 않습니다. 호스트 이름 또는 호스트의 IP 주소로 설정할 수 있습니다. 0.0.0.0/0 은 IP 주소에 유효한 설정이 아닙니다.

openshift_docker_blocked_registries

OpenShift Container Platform은 지정된 차단된 레지스트리 또는 레지스트리를 docker 구성에 추가합니다. 나열된 레지스트리를 차단합니다. 이 값을 다른 변수에 없는 모든 블록으로 설정합니다.

openshift_docker_ent_reg

openshift_deployment_typeopenshift-enterprise 로 설정된 경우 컨테이너 런타임에서 신뢰하는 추가 레지스트리입니다. 기본값은 registry.redhat.io 입니다. openshift_docker_ent_reg='' 를 설정하면 docker 구성에 registry.redhat.io 가 추가되지 않습니다.

openshift_metrics_hawkular_hostname

이 변수는 클러스터 메트릭의 마스터 구성에서 metricsPublicURL 을 재정의하여 지표 콘솔과 통합할 호스트 이름을 설정합니다. 이 변수를 변경하는 경우 라우터를 통해 호스트 이름에 액세스할 수 있는지 확인합니다.

openshift_clusterid

이 변수는 AWS 가용 영역에 고유한 클러스터 식별자입니다. 이를 통해 여러 영역 또는 여러 클러스터가 있는 AWS(Amazon Web Services)의 잠재적인 문제가 발생하지 않습니다. 자세한 내용은 AWS 라벨 을 참조하십시오.

openshift_encryption_config

이 변수를 사용하여 데이터 저장소 계층 암호화를 구성합니다.

openshift_image_tag

이 변수를 사용하여 설치하거나 구성할 컨테이너 이미지 태그를 지정합니다.

openshift_pkg_version

이 변수를 사용하여 설치 또는 구성할 RPM 버전을 지정합니다.

주의

클러스터가 설정된 후 openshift_image_tag 또는 openshift_pkg_version 변수를 수정하면 업그레이드가 트리거될 수 있으므로 다운 타임이 발생할 수 있습니다.

  • openshift_image_tag 가 설정되면 다른 버전이 설치된 경우에도 시스템 컨테이너 환경의 모든 호스트에 해당 값이 사용됩니다. If
  • openshift_pkg_version 이 설정되고, 다른 버전이 설치된 경우에도 RPM 기반 환경의 모든 호스트에 값이 사용됩니다.

표 4.2. 네트워킹 변수

변수목적

openshift_master_default_subdomain

이 변수는 노출된 경로에 사용할 기본 하위 도메인을 재정의합니다. 이 변수의 값은 소문자 영숫자 또는 대시(-)로 구성되어야 합니다. 알파벳 문자로 시작해야 하며 영숫자로 끝나야 합니다.

os_sdn_network_plugin_name

이 변수는 포드 네트워크에 사용할 OpenShift SDN 플러그인 을 구성합니다. 기본값은 표준 SDN 플러그인의 경우 redhat/openshift-ovs-subnet 입니다. 다중 테넌트 SDN 플러그인을 사용하도록 변수를 redhat/openshift-ovs-multitenant 로 설정합니다.

osm_cluster_network_cidr

이 변수는 SDN 클러스터 네트워크 CIDR 블록을 재정의합니다. 이는 포드 IP가 할당되는 네트워크입니다. 인프라의 기존 네트워크 블록과 충돌하지 않는 개인 블록을 지정하고 해당 Pod, 노드 또는 마스터에 액세스해야 할 수 있습니다. 기본값은 10.128.0.0/14 이며 배포 후에는 임의로 다시 구성할 수 없지만 SDN 마스터 구성에서 특정 변경을 수행할 수 있습니다.

openshift_portal_net

이 변수는 OpenShift Container Platform SDN 에서 서비스를 생성할 서브넷을 구성합니다. Pod, 노드 또는 마스터에 액세스해야 할 수 있는 기존 네트워크 블록과 충돌하지 않는 개인 블록을 지정합니다. 기본값은 172.30.0.0/16 이며 배포 후에는 다시 구성할 수 없습니다. 기본값에서 변경하는 경우 docker0 네트워크 브리지에서 기본적으로 사용하는 172.17.0.0/16 을 방지하거나 docker0 네트워크를 수정합니다.

osm_host_subnet_length

이 변수는 OpenShift Container Platform SDN 에서 포드 IP에 할당된 호스트당 크기별 크기를 지정합니다. 기본값은 9 입니다. 예를 들어 기본 10.128.0.0/14 클러스터 네트워크가 지정되면 10.128.0.0/23, 10.128.4.0/23, 10.128.4.0/23 등이 할당됩니다. 이는 배포 후에는 다시 구성할 수 없습니다.

openshift_node_proxy_mode

이 변수는 사용할 서비스 프록시 모드 (기본, pure- iptables 구현 또는 사용자 공간 프록시의 경우 userspace )를 지정합니다.

openshift_use_flannel

이 변수는 flannel 을 기본 SDN 대신 대체 네트워킹 계층으로 활성화합니다. flannel 을 활성화하는 경우 openshift_use_openshift_sdn 변수를 사용하여 기본 SDN을 비활성화합니다. 자세한 내용은 Flannel 사용을 참조하십시오.

openshift_use_openshift_sdn

OpenShift SDN 플러그인을 비활성화하려면 false 로 설정합니다.

openshift_sdn_vxlan_port

이 변수는 클러스터 네트워크의 6443 포트 번호를 설정합니다. 기본값은 4789 입니다. 자세한 내용은 클러스터 네트워크의 VXLAN PORT 변경을 참조하십시오.

openshift_node_sdn_mtu

이 변수는 OpenShift SDN에 사용할 MTU 크기를 지정합니다. 값은 노드의 기본 네트워크 인터페이스의 MTU보다 50 바이트 작아야 합니다. 예를 들어 기본 네트워크 인터페이스에 1500 의 MTU가 있는 경우 이 값은 1450 입니다. 기본값은 1450 입니다.