7.2. 데이터 플레인 보안 생성
데이터 플레인은 작동하기 위해 여러 가지 Secret CR(사용자 정의 리소스)이 필요합니다. Secret CR은 다음 기능을 위해 데이터 플레인 노드에서 사용합니다.
노드 간 보안 액세스를 활성화하려면 다음을 수행합니다.
-
Ansible이 데이터 플레인에서 RHEL 노드를 관리할 수 있도록 SSH 키를 생성하고 각 키에 대해 SSH 키
SecretCR을 생성해야 합니다. Ansible은 이 사용자 및 키를 사용하여 명령을 실행합니다. 데이터 플레인의 각OpenStackDataPlaneNodeSetCR에 대한 SSH 키를 생성할 수 있습니다. -
컴퓨팅 노드 간에 인스턴스를 마이그레이션하려면 SSH 키를 생성하고 각 키에 대해 SSH 키
SecretCR을 생성해야 합니다.
-
Ansible이 데이터 플레인에서 RHEL 노드를 관리할 수 있도록 SSH 키를 생성하고 각 키에 대해 SSH 키
- Red Hat 고객 포털에 등록되지 않은 노드의 운영 체제를 등록하려면 다음을 수행합니다.
- 노드의 리포지토리를 활성화하려면 다음을 수행합니다.
- libvirt에 대한 액세스를 제공합니다.
사전 요구 사항
-
사전 프로비저닝된 노드는 암호가 없는
sudo권한이 있는 사용자의 경우$HOME/.ssh/authorized_keys파일에 SSH 공개 키를 사용하여 구성됩니다. 자세한 내용은 RHEL의 기본 시스템 설정 구성 가이드의 예약된 사용자 및 그룹 ID 구성을 참조하십시오.
프로세스
프로비저닝되지 않은 노드의 경우 Ansible에 대한 SSH 키 쌍을 생성합니다.
$ ssh-keygen -f <key_file_name> -N "" -t rsa -b 4096-
&
lt;key_file_name>을 키 쌍에 사용할 이름으로 바꿉니다.
-
&
Ansible에 대한
SecretCR을 생성하여 클러스터에 적용합니다.$ oc create secret generic dataplane-ansible-ssh-private-key-secret \ --save-config \ --dry-run=client \ --from-file=ssh-privatekey=<key_file_name> \ --from-file=ssh-publickey=<key_file_name>.pub \ [--from-file=authorized_keys=<key_file_name>.pub] -n openstack \ -o yaml | oc apply -f --
&
lt;key_file_name>을 SSH 키 쌍 파일의 이름 및 위치로 바꿉니다. -
선택 사항: 데이터 플레인을 생성할 때 프로비저닝해야 하는 베어 메탈 노드의
--from-file=authorized_keys옵션만 포함합니다.
-
&
인스턴스 마이그레이션을 위한 SSH 키 쌍을 생성합니다.
$ ssh-keygen -f ./nova-migration-ssh-key -t ecdsa-sha2-nistp521 -N ''마이그레이션을 위한
SecretCR을 생성하여 클러스터에 적용합니다.$ oc create secret generic nova-migration-ssh-key \ --save-config \ --from-file=ssh-privatekey=nova-migration-ssh-key \ --from-file=ssh-publickey=nova-migration-ssh-key.pub \ -n openstack \ -o yaml | oc apply -f -Red Hat 고객 포털에 등록되지 않은 노드의 운영 체제를 등록하기 위한
subscription-manager자격 증명에 대한SecretCR을 생성합니다.$ oc create secret generic subscription-manager \ --from-literal rhc_auth='{"login": {"username": "<subscription_manager_username>", "password": "<subscription_manager_password>"}}'-
&
lt;subscription_manager_username>을subscription-manager용으로 설정한 사용자 이름으로 바꿉니다. -
&
lt;subscription_manager_password>를subscription-manager용으로 설정한 암호로 바꿉니다.
-
&
SecretCR을 생성합니다.$ oc create -f secret_subscription.yaml -n openstackRed Hat 레지스트리 인증 정보가 포함된
SecretCR을 생성합니다.$ oc create secret generic redhat-registry --from-literal edpm_container_registry_logins='{"registry.redhat.io": {"<username>": "<password>"}}'<
;username> 및 <password>를 Red Hat 레지스트리 사용자 이름 및 암호 인증 정보로 바꿉니다.레지스트리 서비스 계정을 생성하는 방법에 대한 자세한 내용은 기술 자료 문서 레지스트리 서비스 계정 생성 문서를 참조하십시오.
workstation에
secret_libvirt.yaml이라는 파일을 생성하여 libvirt 보안을 정의합니다.apiVersion: v1 kind: Secret metadata: name: libvirt-secret namespace: openstack type: Opaque data: LibvirtPassword: <base64_password>&
lt;base64_password>를 base64로 인코딩된 문자열로 최대 길이 63자로 바꿉니다. 다음 명령을 사용하여 base64로 인코딩된 암호를 생성할 수 있습니다.$ echo -n <password> | base64작은 정보사용자 이름과 암호를 base64로 인코딩하지 않으려면
data필드 대신stringData필드를 사용하여 사용자 이름과 암호를 설정할 수 있습니다.
SecretCR을 생성합니다.$ oc apply -f secret_libvirt.yaml -n openstackSecretCR이 생성되었는지 확인합니다.$ oc describe secret dataplane-ansible-ssh-private-key-secret $ oc describe secret nova-migration-ssh-key $ oc describe secret subscription-manager $ oc describe secret redhat-registry $ oc describe secret libvirt-secret