環境の構成

これらのステップでは、Oracle Private Cloud ApplianceOracle Cloud Native Environmentをインストールする前に環境を構成する方法について説明します。

次のリソースがすでにプロビジョニングされているものとします。

  • テナンシのコンパートメント。
  • DNSラベル(このVCNでDNSホスト名を使用が有効になっている)を持つコンパートメント内のVirtual Cloud Network (VCN)。
  • 3つのワーカー・ノード、1つの制御ノードおよび1つのオペレータ・ノードのコンピュート・インスタンス。

プロキシを設定

すべてのノードでプロキシvars in etc bashrcを設定し、今後のすべてのシェル・セッションでプロキシ環境変数の利点が得られるようにします。適切なプロキシ・サーバー名およびポートを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

プロキシ・サーバーを認識するようにyumおよびdnfを構成した後、すべてのノードで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