14.2. OpenShift Container Platform 설치를 위한 환경 설정
14.2.1. IBM Cloud에 OpenShift Container Platform 설치용 프로비저너 노드 준비
프로비저너 노드를 준비하려면 다음 단계를 수행합니다.
절차
-
ssh
를 통해 프로비저너 노드에 로그인합니다. root가 아닌 사용자 (
kni
)를 만들고 해당 사용자에게sudo
권한을 부여합니다.# useradd kni
# passwd kni
# echo "kni ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/kni
# chmod 0440 /etc/sudoers.d/kni
새 사용자에 대한
ssh
키를 만듭니다.# su - kni -c "ssh-keygen -f /home/kni/.ssh/id_rsa -N ''"
프로비저너 노드에서 새 사용자로 로그인합니다.
# su - kni
Red Hat Subscription Manager를 사용하여 프로비저닝 노드를 등록합니다.
$ sudo subscription-manager register --username=<user> --password=<pass> --auto-attach
$ sudo subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms \ --enable=rhel-8-for-x86_64-baseos-rpms
참고Red Hat Subscription Manager에 대한 자세한 내용은 Using and Configuring Red Hat Subscription Manager에서 참조하십시오.
다음 패키지를 설치합니다.
$ sudo dnf install -y libvirt qemu-kvm mkisofs python3-devel jq ipmitool
사용자를 변경하여
libvirt
그룹을 새로 만든 사용자에 추가합니다.$ sudo usermod --append --groups libvirt kni
firewalld
시작:$ sudo systemctl start firewalld
firewalld
활성화:$ sudo systemctl enable firewalld
http
서비스를 시작합니다.$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --reload
libvirtd
서비스를 시작하고 활성화합니다.$ sudo systemctl enable libvirtd --now
프로비저너 노드의 ID를 설정합니다.
$ PRVN_HOST_ID=<ID>
다음
ibmcloud
명령을 사용하여 ID를 볼 수 있습니다.$ ibmcloud sl hardware list
공용 서브넷의 ID를 설정합니다.
$ PUBLICSUBNETID=<ID>
다음
ibmcloud
명령을 사용하여 ID를 볼 수 있습니다.$ ibmcloud sl subnet list
프라이빗 서브넷의 ID를 설정합니다.
$ PRIVSUBNETID=<ID>
다음
ibmcloud
명령을 사용하여 ID를 볼 수 있습니다.$ ibmcloud sl subnet list
프로비저너 노드 공용 IP 주소를 설정합니다.
$ PRVN_PUB_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | jq .primaryIpAddress -r)
public 네트워크의 CIDR을 설정합니다.
$ PUBLICCIDR=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .cidr)
공용 네트워크의 IP 주소 및 CIDR을 설정합니다.
$ PUB_IP_CIDR=$PRVN_PUB_IP/$PUBLICCIDR
public 네트워크의 게이트웨이를 설정합니다.
$ PUB_GATEWAY=$(ibmcloud sl subnet detail $PUBLICSUBNETID --output JSON | jq .gateway -r)
프로비저너 노드의 개인 IP 주소를 설정합니다.
$ PRVN_PRIV_IP=$(ibmcloud sl hardware detail $PRVN_HOST_ID --output JSON | \ jq .primaryBackendIpAddress -r)
사설 네트워크의 CIDR을 설정합니다.
$ PRIVCIDR=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .cidr)
사설 네트워크의 IP 주소 및 CIDR을 설정합니다.
$ PRIV_IP_CIDR=$PRVN_PRIV_IP/$PRIVCIDR
사설 네트워크의 게이트웨이를 설정합니다.
$ PRIV_GATEWAY=$(ibmcloud sl subnet detail $PRIVSUBNETID --output JSON | jq .gateway -r)
baremetal
및provisioning
네트워크에 대한 브릿지를 설정합니다.$ sudo nohup bash -c " nmcli --get-values UUID con show | xargs -n 1 nmcli con delete nmcli connection add ifname provisioning type bridge con-name provisioning nmcli con add type bridge-slave ifname eth1 master provisioning nmcli connection add ifname baremetal type bridge con-name baremetal nmcli con add type bridge-slave ifname eth2 master baremetal nmcli connection modify baremetal ipv4.addresses $PUB_IP_CIDR ipv4.method manual ipv4.gateway $PUB_GATEWAY nmcli connection modify provisioning ipv4.addresses 172.22.0.1/24,$PRIV_IP_CIDR ipv4.method manual nmcli connection modify provisioning +ipv4.routes \"10.0.0.0/8 $PRIV_GATEWAY\" nmcli con down baremetal nmcli con up baremetal nmcli con down provisioning nmcli con up provisioning init 6 "
참고eth1
및eth2
의 경우 필요에 따라 적절한 인터페이스 이름을 대체합니다.필요한 경우
프로비저너
노드로 SSH를 실행합니다.# ssh kni@provisioner.<cluster-name>.<domain>
연결 브리지가 올바르게 생성되었는지 확인합니다.
$ sudo nmcli con show
출력 예
NAME UUID TYPE DEVICE baremetal 4d5133a5-8351-4bb9-bfd4-3af264801530 bridge baremetal provisioning 43942805-017f-4d7d-a2c2-7cb3324482ed bridge provisioning virbr0 d9bca40f-eee1-410b-8879-a2d4bb0465e7 bridge virbr0 bridge-slave-eth1 76a8ed50-c7e5-4999-b4f6-6d9014dd0812 ethernet eth1 bridge-slave-eth2 f31c3353-54b7-48de-893a-02d2b34c4736 ethernet eth2
pull-secret.txt
파일을 만듭니다.$ vim pull-secret.txt
웹 브라우저에서 Install on Bare Metal with user-provisioned infrastructure 로 이동합니다. 1단계에서 풀 시크릿 다운로드를 클릭합니다.
pull-secret.txt
파일에 내용을 붙여 넣고kni
사용자의 홈 디렉터리에 저장합니다.