IBM Cloud Docs
Red Hat OpenShift 바스티온 노드 설정

Red Hat OpenShift 바스티온 노드 설정

배포를 활성화하기 위해, 가상 머신(VM)이 프로비저닝되어 Red Hat® OpenShift® 의 설치 단계를 실행하고 HTTP Server 를 호스팅합니다. 이 VM은 요새 노드로 알려져 있습니다. 바스톤 노드는 논리적 스위치인 Red Hat OpenShift 에 연결되어 있으며, 점프 서버 또는 원격 장치에서 SSH 액세스를 허용하도록 ESG 방화벽과 NAT 규칙이 구성되어 있습니다.

바스트폰 노드는 Red Hat® Enterprise Linux® 를 실행하며, 부트스트랩, 컨트롤 플레인, 컴퓨팅 노드를 프로비저닝하기 위한 스크립트, 파일, 도구를 호스팅하는 데 사용됩니다. 배치 후에는 bastion 노드를 클러스터의 관리 노드로 유지하는 것이 좋습니다.

bastion 노드 설정은 다음 단계로 구성됩니다.

  1. Red Hat VM을 프로비저닝합니다.
  2. Red Hat VM을 등록합니다.
  3. NGINX(HTTP 서버)를 설치하십시오.
  4. SSH 개인 키를 생성하고 에이전트에 추가하십시오.

Red Hat VM 프로비저닝하기

다음 사양에 따라 Red Hat VM을 프로비저닝합니다. vCenter 서버 사용자 인터페이스를 사용하거나 이 문서 뒷부분에 설명된 PowerCLI 스크립트를 사용하여 VM을 프로비저닝하십시오. NSX ESG에 구성된 NAT 주소를 기록하십시오.

Red Hat VM - 프로비저닝
VM IP 주소 게이트웨이 디스크(GB) 메모리(GB) vCPU NAT 주소
bastion 192.168.133.8 192.168.133.1 50 2 1 10.208.59.197

다음 표를 사용하여 배치 세부사항을 기록하십시오.

Red Hat VM 배포
매개변수 사용자의 배치
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 설명서를 참조하세요.

  1. 필요한 언어를 선택하십시오.
  2. 날짜 및 시간을 설정하십시오.
  3. 네트워크 및 호스트 이름을 구성하십시오.
  4. 설치 대상을 선택하십시오.
  5. 루트 비밀번호를 설정하십시오.
  6. 사용자를 작성합니다.

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 노드에 연결하여 루트 권한을 얻은 후 다음 단계를 완료하십시오.

  1. Vi와 같은 텍스트 편집기를 사용하여 다음 파일을 만듭니다. vi /etc/yum.repos.d/nginx.repo.

  2. i를 입력하여 다음 정보를 파일에 삽입하고 붙여넣으십시오.

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/mainline/rhel/8/$basearch/
    gpgcheck=0
    enabled=1
    
  3. Esc를 눌러 명령 모드로 돌아간 후 :wq를 입력하여 파일을 저장하고 vi를 종료하십시오.

  4. yum 명령을 사용하여 NGINX 패키지를 설치하십시오.

    yum update
    yum install -y nginx
    
  5. 기본 구성 파일인 vi /etc/nginx/conf.d/default.conf를 작성하십시오.

  6. 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;
        }
    }
    
  7. Esc를 눌러 명령 모드로 돌아간 후 :wq를 입력하여 파일을 저장하고 vi를 종료하십시오.

  8. 다음 명령을 실행하여 NGINX를 시작하십시오.

    systemctl enable nginx
    systemctl start nginx
    
  9. 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 키 작성

  1. 바스티온 노드의 SSH 세션에서 다음 명령을 실행합니다. 이 명령은 /root/.ssh 디렉토리에서 공개 또는 비공개 rsa 키 쌍을 생성합니다

    ssh-keygen -f ~/.ssh/id_rsa -t rsa -b 4096 -N ''
    

    개인 키는 /root/.ssh/id_rsa 이고 공개 키는 /root/.ssh/id_rsa.pub 입니다.

  2. 백그라운드 태스크로 ssh-agent 프로세스를 시작하십시오.

    eval "$(ssh-agent -s)"
    
  3. 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 사용자 공급자 인프라 설치 에 설명되어 있습니다.