ひょんなことに互換性の確認をすることになった。
誰得なので、必要な人はそんなに多く無いかもしれない。ニッチネタ。
今更そんな古いのができるの??と思ったが、最近入れた人のブログを発見したので、それを参考に作成。
https://www.unixarena.com/2022/03/okd-how-to-setup-red-hat-openshift-3-11-in-a-single-node.html
はっきり言って殴り書きw
RHEL7.9(最新)で作成
サブスクリプションの登録をしておく。サブスクリプションがない場合は、無償のdeveloperサブスクリプションを登録する。
yum install -y yum-utils device-mapper-persistent-data lvm2 wget
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
subscription-manager repos --enable=rhel-7-server-extras-rpms
yum install -y docker-ce docker-ce-cli containerd.io
mkdir -p /etc/containers
cat << EOF > /etc/containers/registries.conf
[registries.insecure]
registries = ['172.30.0.0/16']
EOF
mkdir -p /etc/docker/
cat << EOF > /etc/docker/daemon.json
{
"insecure-registries": [
"172.30.0.0/16"
]
}
EOF
systemctl daemon-reload
systemctl restart docker
systemctl status docker
echo "net.ipv4.ip_forward = 1" | tee -a /etc/sysctl.conf
sysctl -p
OpenShift 3.11の場合
wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
tar xfz openshift-origin-client-tools-v*-linux-64bit.tar.gz
cd openshift-origin-client-tools-v*
mv oc /usr/bin
mv kubectl /usr/bin
OpenShift 3.9の場合
kubectlコマンドが無いのでocコマンドからリンクをはる。
wget https://github.com/openshift/origin/releases/download/v3.9.0/openshift-origin-client-tools-v3.9.0-191fece-linux-64bit.tar.gz
tar xfz openshift-origin-client-tools-v*-linux-64bit.tar.gz
cd openshift-origin-client-tools-v*
mv oc /usr/bin
ln -s /usr/bin/oc /usr/bin/kubectl
cd
kubectl completion bash > /etc/bash_completion.d/kubectl
source /etc/bash_completion.d/kubectl
oc completion bash > /etc/bash_completion.d/oc
source /etc/bash_completion.d/oc
oc version
ノードのIPアドレスをpublic-hostnameに入れてクラスタを作成。
OpenShift 3.9は比較的すぐ作成が完了するが、3.11はしばしお時間がかかる。
ip a
oc cluster up --public-hostname=192.168.134.3
動作確認
oc status
oc login -u system:admin
oc cluster status
ブラウザでURLを開く (3.9と3.11で微妙にURLが違う)
https://192.168.134.3:8443
helmのインストール
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
rm get_helm.sh
helm completion bash > /etc/bash_completion.d/helm
source /etc/bash_completion.d/helm
ノード情報
docker自体は最新のcontainerdで動いているが k8s自体は、 docker-shimで動いている。いいのか?
OpenShift 3.9
kubectl get node -o wide
NAME STATUS ROLES AGE VERSION EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
localhost Ready <none> 3h v1.9.1+a0ce1bc657 <none> CentOS Linux 7 (Core) 3.10.0-1160.66.1.el7.x86_64 docker://20.10.17
OpenShift 3.11
kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
localhost Ready <none> 3h v1.11.0+d4cacc0 192.168.134.3 <none> CentOS Linux 7 (Core) 3.10.0-1160.66.1.el7.x86_64 docker://20.10.17
RHEL7のテンプレート自体から作っていたので思いのほか時間がかかった。寝不足w