Red Hat OpenShift 바스티온 노드 설정
배포를 활성화하기 위해, 가상 머신(VM)이 프로비저닝되어 Red Hat® OpenShift® 의 설치 단계를 실행하고 HTTP Server 를 호스팅합니다. 이 VM은 요새 노드로 알려져 있습니다. 바스톤 노드는 논리적 스위치인 Red Hat OpenShift 에 연결되어 있으며, 점프 서버 또는 원격 장치에서 SSH 액세스를 허용하도록 ESG 방화벽과 NAT 규칙이 구성되어 있습니다.
바스트폰 노드는 Red Hat® Enterprise Linux® 를 실행하며, 부트스트랩, 컨트롤 플레인, 컴퓨팅 노드를 프로비저닝하기 위한 스크립트, 파일, 도구를 호스팅하는 데 사용됩니다. 배치 후에는 bastion 노드를 클러스터의 관리 노드로 유지하는 것이 좋습니다.
bastion 노드 설정은 다음 단계로 구성됩니다.
- Red Hat VM을 프로비저닝합니다.
- Red Hat VM을 등록합니다.
- NGINX(HTTP 서버)를 설치하십시오.
- SSH 개인 키를 생성하고 에이전트에 추가하십시오.
Red Hat VM 프로비저닝하기
다음 사양에 따라 Red Hat VM을 프로비저닝합니다. vCenter 서버 사용자 인터페이스를 사용하거나 이 문서 뒷부분에 설명된 PowerCLI 스크립트를 사용하여 VM을 프로비저닝하십시오. NSX ESG에 구성된 NAT 주소를 기록하십시오.
VM | IP 주소 | 게이트웨이 | 디스크(GB) | 메모리(GB) | vCPU | NAT 주소 |
---|---|---|---|---|---|---|
bastion |
192.168.133.8 | 192.168.133.1 | 50 | 2 | 1 | 10.208.59.197 |
다음 표를 사용하여 배치 세부사항을 기록하십시오.
매개변수 | 예 | 사용자의 배치 |
---|---|---|
vCenter Server IP address | ||
vCenter Server user | ||
vCenter Server password | ||
Logical Switch | OpenShift-LS |
|
vCenter Server instance data store | vsanDatastore |
|
VM 이름 | bastion |
|
ISO file name | rhel-8.x-x86_64-dvd.iso |
|
IP 주소 | 192.168.133.8 | |
네트마스크 | 255.255.255.0 | |
기본 게이트웨이 | 192.168.133.1 |
시작하기 전에 vCenter CLI 또는 다음 PowerCLI 스크립트를 사용하여 VM을 작성하십시오.
# Connect to vCenter
connect-VIserver –server <IP_Address> -User <UserName> -Password '<Password>'
# Create VM
$ls = get-nsxtransportzone | get-nsxlogicalswitch OpenShift-LS | Get-NsxBackingPortGroup | Select-Object Name
$ds = get-datastore -Name vsanDatastore
$vm = New-VM -Name bastion -Datastore $ds -DiskGB 50 -DiskStorageFormat Thin -MemoryGB 2 -NumCpu 1 -Notes "OpenShift Bastion node" -NetworkName $ls.name -GuestId rhel8_64Guest
# Connect a CD Drive loaded with the RHEL ISO
New-CDDrive -VM $vm -IsoPath "[vsanDatastore] ISO\rhel-8.x-x86_64-dvd.iso" -StartConnected
#Start the VM
Start-VM -VM $vm
# Disconnect
Disconnect-NsxServer
가상 머신이 시작되면 웹 콘솔 또는 원격 콘솔을 사용하여 가상 머신에 연결하고 다음 설치 단계를 완료하십시오. 필요한 경우 Red Hat Enterprise Linux 설명서를 참조하세요.
- 필요한 언어를 선택하십시오.
- 날짜 및 시간을 설정하십시오.
- 네트워크 및 호스트 이름을 구성하십시오.
- 설치 대상을 선택하십시오.
- 루트 비밀번호를 설정하십시오.
- 사용자를 작성합니다.
Red Hat VM 등록하기
이 단계를 수행하려면 Red Hat 구독 정보가 필요합니다
- 사용자 이름
- 비밀번호
- 구독 풀
요새 노드가 배치된 후에는, Red Hat 공개 저장소에 등록하고 구독해야 합니다. 점프 호스트 또는 원격 디바이스에서 SSH를 사용하여 bastion 노드에 연결하십시오. su
명령을 사용하여 루트 권한을 가져오고 사용자 이름, 비밀번호 및 풀을 변수로 바꾼 후 다음 명령을 실행하십시오.
export rhel_subscription_username=<email address>
export rhel_subscription_password=<password>
sudo subscription-manager register --username=${rhel_subscription_username} --password=${rhel_subscription_password} --force
subscription-manager refresh
subscription-manager attach --pool=<pool>
subscription-manager repos --disable="*"
subscription-manager repos --enable rhel-8-server-rpms
subscription-manager repos --enable rhel-8-server-extras-rpms
subscription-manager repos --enable rhel-server-rhscl-8-rpms
NGINX 설치(HTTP 서버)
Red Hat OpenShift 의 노드 배치는 Ignition을 사용하며, 이 과정에서 필요한 구성을 다운로드할 수 있는 HTTP Server 이 필요합니다. 이 배치에서는 bastion 노드에서 실행되는 NGINX 인스턴스를 사용합니다. NGNIX를 설치하려면 bastion 노드에 연결하여 루트 권한을 얻은 후 다음 단계를 완료하십시오.
-
Vi와 같은 텍스트 편집기를 사용하여 다음 파일을 만듭니다.
vi /etc/yum.repos.d/nginx.repo
. -
i
를 입력하여 다음 정보를 파일에 삽입하고 붙여넣으십시오.[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/rhel/8/$basearch/ gpgcheck=0 enabled=1
-
Esc를 눌러 명령 모드로 돌아간 후
:wq
를 입력하여 파일을 저장하고 vi를 종료하십시오. -
yum
명령을 사용하여 NGINX 패키지를 설치하십시오.yum update yum install -y nginx
-
기본 구성 파일인
vi /etc/nginx/conf.d/default.conf
를 작성하십시오. -
i
를 입력하여 다음 정보를 파일에 삽입하고 붙여넣으십시오.server { listen 80; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } }
-
Esc를 눌러 명령 모드로 돌아간 후
:wq
를 입력하여 파일을 저장하고 vi를 종료하십시오. -
다음 명령을 실행하여 NGINX를 시작하십시오.
systemctl enable nginx systemctl start nginx
-
Linux 방화벽은 다음 firewall-cmd 명령을 사용하여 HTTP가 사용 가능하도록 구성되어야 합니다.
firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --reload
SSH 개인 키 생성 및 에이전트에 추가
설치 디버깅 또는 재해 복구를 수행하려는 컨테이너 플랫폼 클러스터( Red Hat OpenShift )의 경우, ssh-agent 프로세스가 설치 프로그램에 사용하는 SSH 키를 제공해야 합니다.
이 키를 사용하여 사용자 코어로 노드에 SSH로 연결할 수 있습니다. 클러스터를 배치하는 경우 키는 코어 사용자의 ~/.ssh/authorized_keys
목록에 추가됩니다.
로컬 키를 사용해야 합니다.
SSH 키 작성
-
바스티온 노드의 SSH 세션에서 다음 명령을 실행합니다. 이 명령은
/root/.ssh
디렉토리에서 공개 또는 비공개rsa
키 쌍을 생성합니다ssh-keygen -f ~/.ssh/id_rsa -t rsa -b 4096 -N ''
개인 키는
/root/.ssh/id_rsa
이고 공개 키는/root/.ssh/id_rsa.pub
입니다. -
백그라운드 태스크로 ssh-agent 프로세스를 시작하십시오.
eval "$(ssh-agent -s)"
-
SSH 개인 키를 ssh-agent에 추가하십시오.
ssh-add /root/.ssh/id_rsa
설치 도구 다운로드
Red Hat OpenShift 4.14 설치에 대한 자세한 내용은 사용자 프로비저닝된 인프라를 사용하여 vSphere에 클러스터 설치하기를 참조하세요.
Red Hat OpenShift 의 사용자 제공자 인프라에 액세스하는 방법에 대한 자세한 내용은 Red Hat OpenShift 컨테이너 플랫폼의 인터넷 및 원격 측정 액세스를 참조하십시오.
Red Hat OpenShift 의 컨테이너 플랫폼을 설치하기 전에, 여러 개의 파일을 bastion 노드에 다운로드한 다음, 그 파일들을 추출해야 합니다. 다음과 같은 조치가 완료됩니다.
unzip
을 다운로드하여 다운로드한 파일을 추출합니다.- 설치 디렉토리를 작성하고 이를 작업 디렉토리로 만듭니다.
- Red Hat OpenShift 의 설치와 클라이언트 도구를 다운로드하세요.
- 다운로드한 번들을 추출합니다.
- 사용하기 쉽도록 명령을
/usr/local/bin
으로 이동합니다. - Git 를 설치하여 Red Hat OpenShift 설치 프로그램을 다운로드하십시오.
- 설치 프로그램 저장소를 bastion 노드로 복제합니다.
- 쉽게 사용할 수 있도록 Terraform을
/usr/local/bin
디렉토리로 다운로드하고 추출하십시오.
이러한 명령은 루트 권한이 있는 bastion 노드에 대한 SSH 세션에서 사용됩니다. 4.x를 현재 Red Hat OpenShift 버전(예: 4.14)으로 바꿉니다.
# Download unzip
yum install -y wget unzip
# Create an installation directory and make it the working directory
mkdir -p /opt/ocpinstall
cd /opt/ocpinstall
# Download the OpenShift installer and client tools
wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest-4.x/openshift-client-linux.tar.gz
wget https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest-4.x/openshift-install-linux.tar.gz
# Extract the downloaded bundles
tar -xvf openshift-client-linux.tar.gz
tar -xvf openshift-install-linux.tar.gz
# Move commands to /usr/local/bin for ease of use
mv kubectl oc openshift-install /usr/local/bin
mv openshift-install /usr/local/bin
# Install git and clone the OpenShift installer
yum install -y git
git clone -b release-4.x https://github.com/openshift/installer
# Download and extract terraform
wget https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip
unzip terraform_0.11.13_linux_amd64.zip
mv terraform /usr/local/bin
이제 Bastion 노드는 Red Hat OpenShift 4.14에 설명되어 있으며, Red Hat OpenShift 4.14 사용자 공급자 인프라 설치 에 설명되어 있습니다.