환경 구성

이 단계에서는 Oracle Private Cloud ApplianceOracle Cloud Native Environment를 설치하기 전에 환경을 구성하는 방법에 대해 설명합니다.

다음 리소스가 이미 프로비전되었다고 가정합니다.

  • 테넌시의 컴파트먼트입니다.
  • DNS 레이블이 있는 컴파트먼트의 VCN(가상 클라우드 네트워크)(이 VCN에서 DNS 호스트 이름 사용이 사용으로 설정됨)입니다.
  • 작업자 노드 3개, 제어 노드 1개, 운영자 노드 1개에 대한 컴퓨트 인스턴스입니다.

프록시 설정

이후의 모든 셸 세션이 프록시 환경 변수의 이점을 갖도록 모든 노드에서 vars in etc bashrc 프록시를 설정합니다. 적절한 proxy 서버 이름과 포트를 http://proxy-host:proxy-port로 대체합니다.

if [ ! -f /etc/bashrc.bak ]; then
 cp -p /etc/bashrc /etc/bashrc.bak
else
 cp -p /etc/bashrc.bak /etc/bashrc
fizz=/tmp/ocne.setup.sh.on_host_to_be_setup
cat <<EOD > $zz
export http_proxy=http://proxy-host:proxy-port
export https_proxy=http://proxy-host:proxy-port
# substitute your domain name for "dm.com"
HOSTNAME=`hostname`
first_3_octets_of_LAN=`nslookup $HOSTNAME.dm.com | grep Address | tail -1 | sed -e 's/Address: //' -e 's/\.[0-9]*$//'`
export 
no_proxy='localhost,127.0.0.1,.proxy-host,.oraclecorp.com,.oraclevcn.com,$first_3_octets_of_LAN.0/24,.svc,/var/run/crio/crio.sock,10.96.0.0/12'EOD
cat $zz >> /etc/bashrc

OS 업데이트 적용

OS 패치를 적용하여 모든 노드 보안 및 기능을 최신 상태로 유지합니다.

OS를 식별합니다.

Identify Oracle Linux major release 
uname -a | sed -e 's/.*\.el//' -e 's/^\(.\).*/\1/'

이 명령의 결과가 8이면 Oracle Linux 8을 실행 중인 것입니다. Oracle Linux 7을 실행 중인 경우 dnf 대신 yum를 사용하고 추가 인수 --best --allowerasing를 전달하지 마십시오.

예를 들어, 다음과 같은 지침이 있는 경우

yum --setopt=keepcache=1 xyz

대신 Oracle Linux 7에서 실행 중인 경우 다음 명령을 실행해야 합니다.

dnf --best --setopt=keepcache=1 --allowerasing xyz

프록시 서버를 인식하도록 yumdnf를 구성한 후 모든 노드에서 OS 업데이트를 적용합니다.

if [ ! -f /etc/yum.conf.bak ]; then
 cp /etc/yum.conf /etc/yum.conf.bak
else
 cp /etc/yum.conf.bak /etc/yum.conf
fi
echo proxy=http://proxy-host:proxy-port >> /etc/yum.conf
if [ -d /etc/dnf ]; then
 if [ ! -f /etc/dnf/dnf.conf.bak ]; then
 sudo cp /etc/dnf/dnf.conf /etc/dnf/dnf.conf.bak
 else
 sudo cp /etc/dnf/dnf.conf.bak /etc/dnf/dnf.conf
 fi
 cp /etc/dnf/dnf.conf.bak /tmp/dnf.conf
 echo proxy=http://proxy-host:proxy-port:80 >> /tmp/dnf.conf
 sudo mv /tmp/dnf.conf /etc/dnf/dnf.conf
fi
dnf --best --setopt=keepcache=1 --allowerasing update -y
reboot

모든 노드에서 저장소 구성

모든 노드에서 yum 저장소를 구성합니다.

configure repos 
# if we are on OEL7, do the following:
sudo yum-config-manager --enable ol7_olcne15 ol7_kvm_utils ol7_addons ol7_latest ol7_UEKR6
sudo yum-config-manager --disable ol7_olcne14 ol7_olcne13 ol7_olcne12 ol7_olcne11 ol7_olcne
ol7_developer
# but if we are on Oracle Linux 8, do the following:
sudo dnf -y install oracle-olcne-release-el8
sudo yum config-manager --enable ol8_olcne15 ol8_addons ol8_baseos_latest ol8_appstream 
ol8_UEKR6
sudo yum config-manager --disable ol8_olcne12 ol8_olcne13 ol8_olcne14 ol8_developer

Chrony 설치

#Install chrony on all nodes.
sudo dnf --best --setopt=keepcache=1 --allowerasing -y install chrony
sudo systemctl enable --now chronyd.service

모든 노드에서 스왑 사용 안함

no swap 
swapoff -a
if [ ! -f /etc/fstab.bak ]; then
 sudo cp /etc/fstab /etc/fstab.bak
fi
cat /etc/fstab.bak | sed '/[\t ]swap[\t ]/d' > /tmp/fstab
echo diff /etc/fstab.bak /tmp/fstab
diff /etc/fstab.bak /tmp/fstab
sudo cp /tmp/fstab /etc/fstab
echo cat /etc/fstab
cat /etc/fstab

운영자 노드에서 방화벽 구성

operator node firewall 
sudo firewall-cmd --add-port=8091/tcp --permanent
sudo firewall-cmd --reload

워커 노드에서 방화벽 구성

worker node firewall 
sudo firewall-cmd --zone=trusted --add-interface=cni0 --permanent
sudo firewall-cmd --add-port=8090/tcp --permanent
sudo firewall-cmd --add-port=10250/tcp --permanent
sudo firewall-cmd --add-port=10255/tcp --permanent
sudo firewall-cmd --add-port=8472/udp --permanent
sudo firewall-cmd --add-masquerade --permanent
sudo systemctl restart firewalld.service

서브넷 보안 목록 수신 규칙 구성

새 클러스터에서 Oracle Cloud Native Environment 및 Kubernetes 트래픽을 허용하려면 서브넷 보안 목록을 조정해야 합니다.
  1. 보안 목록으로 드릴다운하여 수신 규칙을 추가합니다.
  2. 노드 컴퓨트 인스턴스에 사용되는 서브넷의 보안 목록에 수신 규칙을 추가하여 필요한 포트의 트래픽을 허용합니다.
  3. 다음 포트에 대한 트래픽 허용:
    • 2379-2380
    • 6443-6444
    • 8090-8091
    • 8472
    • 10250-10252
    • 10255