概要
OpenShift4.x以降はMinishiftがなくなり、OpenShift CodeReady Container(CRC)となっている。 以下では公式ドキュメントに沿って手元のベアメタルサーバへインストールを行う。このサーバで色々なことを試してみる。 https://code-ready.github.io/crc/
環境
- ホストOS:CentOS7.7
- 構成図 マシン上でCRCをインストールすると自動的にNWが作成されてCRCが作成される 。 OpenShiftのWebコンソールへアクセスする際には、ベアメタルマシンへリモデスした上でマシン上のブラウザからアクセスする必要がある。
- 環境確認
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
手順
公式ドキュメントの手順に沿ってインストールする。
1.NetworkManagerをインストールする
[root@localhost ~]# yum -y install NetworkManager
2.資材をダウンロードして、解凍して、パスの通ったフォルダへ移動
[root@localhost ~]# yum -y install wget
[root@localhost ~]# curl -k -sS https://mirror.openshift.com/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz -o /tmp/crc-linux-amd64.tar.xz
[root@localhost tmp]# cd /tmp
[root@localhost tmp]# xz -dc /tmp/crc-linux-amd64.tar.xz | tar xfv -
[root@localhost tmp]# cp -pi crc-linux-1.24.0-amd64/crc /usr/local/bin
3.初期セットアップ&起動
crc start
すると途中でsecretを聞かれるので、Red Hat Developer アカウントを作成して取得したsecretを入力する。完了するまで数分かかる。非rootユーザで実行する必要がある。
https://cloud.redhat.com/openshift/install/metal/user-provisioned
[root@localhost tmp]# su - village
[village@localhost tmp]$ crc setup
[village@localhost ~]$ crc start
下記のような出力が表示される
Started the OpenShift cluster.
The server is accessible via web console at:
https://console-openshift-console.apps-crc.testing
Log in as administrator:
Username: kubeadmin
Password: XtGFB-9dWLe-6B4sh-9ypMk
Log in as user:
Username: developer
Password: developer
Use the 'oc' command line interface:
$ eval $(crc oc-env)
$ oc login -u developer https://api.crc.testing:6443
4.ocコマンドにパスを通す
[village@localhost ~]$ crc oc-env
[village@localhost ~]$ eval $(crc oc-env)
5.ログイン
oc startしたときの出力結果に従ってoc login
する
[village@localhost ~]$ oc login -u developer -p developer https://api.crc.testing:6443
6.動作確認
[village@localhost ~]$ oc get node
NAME STATUS ROLES AGE VERSION
crc-rsppg-master-0 Ready master,worker 8d v1.20.0+5fbfd19
いくつかのPodでエラーが出ているが、問題ないようである。
[cloudg@localhost ~]$ oc get po --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
openshift-apiserver-operator openshift-apiserver-operator-7ddd5b5974-ncsqv 1/1 Running 0 7d18h
openshift-apiserver apiserver-644ffb9d54-fdhc7 2/2 Running 0 7d18h
openshift-authentication-operator authentication-operator-67c88594b5-zftcn 1/1 Running 0 7d18h
openshift-authentication oauth-openshift-7cf7596786-cvmv5 1/1 Running 0 12h
openshift-authentication oauth-openshift-7cf7596786-rgr9l 1/1 Running 0 12h
openshift-cluster-machine-approver machine-approver-65cbf595f4-6l2nd 2/2 Running 0 7d18h
openshift-cluster-node-tuning-operator cluster-node-tuning-operator-5c547f8bb4-7g4wk 1/1 Running 0 7d18h
openshift-cluster-node-tuning-operator tuned-xkv6j 1/1 Running 0 8d
openshift-cluster-samples-operator cluster-samples-operator-7969f7fcf5-9lrgb 2/2 Running 0 7d18h
openshift-cluster-version cluster-version-operator-6bfbdf868f-sf2w2 1/1 Running 0 7d18h
openshift-config-operator openshift-config-operator-57c76c77f7-45bt8 1/1 Running 0 7d18h
openshift-console-operator console-operator-cb46c9d78-9f4qr 1/1 Running 0 7d18h
openshift-console console-7985f9d77f-8vwpd 1/1 Running 0 8d
openshift-console console-7985f9d77f-b7ds6 1/1 Running 0 8d
openshift-console downloads-6df577f985-hdv4r 1/1 Running 0 7d18h
openshift-controller-manager-operator openshift-controller-manager-operator-74ffd84cd9-qnf4b 1/1 Running 0 7d18h
openshift-controller-manager controller-manager-z564h 1/1 Running 0 7d18h
openshift-dns-operator dns-operator-6697cb89f5-z8vkx 2/2 Running 0 7d18h
openshift-dns dns-default-bcvs5 3/3 Running 0 8d
openshift-etcd-operator etcd-operator-664d45d68d-qb46f 1/1 Running 0 7d18h
openshift-etcd etcd-crc-rsppg-master-0 3/3 Running 0 8d
openshift-etcd etcd-quorum-guard-5df9d7748f-4j94p 1/1 Running 0 8d
openshift-etcd revision-pruner-2-crc-rsppg-master-0 0/1 Completed 0 7d18h
openshift-image-registry cluster-image-registry-operator-54778dff55-4mrlq 1/1 Running 0 7d18h
openshift-image-registry image-registry-fdb76844c-hlgdz 1/1 Running 0 12h
openshift-image-registry node-ca-6csl8 1/1 Running 0 8d
openshift-ingress-canary ingress-canary-vtq2l 1/1 Running 0 8d
openshift-ingress-operator ingress-operator-b877b674f-zhtnr 2/2 Running 0 7d18h
openshift-ingress router-default-7d9fcbcfcb-w4sp5 1/1 Running 0 7d18h
openshift-kube-apiserver-operator kube-apiserver-operator-64ff9b6958-mq8nd 1/1 Running 0 7d18h
openshift-kube-apiserver kube-apiserver-crc-rsppg-master-0 5/5 Running 2 7d18h
openshift-kube-apiserver revision-pruner-9-crc-rsppg-master-0 0/1 Completed 0 7d18h
openshift-kube-controller-manager-operator kube-controller-manager-operator-577f6d5765-x8xpz 1/1 Running 0 7d18h
openshift-kube-controller-manager kube-controller-manager-crc-rsppg-master-0 4/4 Running 0 8d
openshift-kube-controller-manager revision-pruner-7-crc-rsppg-master-0 0/1 Completed 0 7d18h
openshift-kube-scheduler-operator openshift-kube-scheduler-operator-67bcdc8d7f-dbxt2 1/1 Running 0 7d18h
openshift-kube-scheduler openshift-kube-scheduler-crc-rsppg-master-0 3/3 Running 0 8d
openshift-kube-scheduler revision-pruner-7-crc-rsppg-master-0 0/1 Completed 0 7d18h
openshift-marketplace certified-operators-cmz6p 0/1 ImagePullBackOff 0 8d
openshift-marketplace certified-operators-l288f 0/1 ImagePullBackOff 0 12h
openshift-marketplace community-operators-4rzx2 0/1 ImagePullBackOff 0 8d
openshift-marketplace community-operators-lw4r2 0/1 ImagePullBackOff 0 12h
openshift-marketplace marketplace-operator-5f58b46865-zhhm9 1/1 Running 0 7d18h
openshift-marketplace redhat-marketplace-dp4xm 0/1 ImagePullBackOff 0 12h
openshift-marketplace redhat-marketplace-lgx2r 0/1 ImagePullBackOff 0 8d
openshift-marketplace redhat-operators-tn9gl 0/1 ImagePullBackOff 0 12h
openshift-marketplace redhat-operators-zcnzq 0/1 ImagePullBackOff 0 8d
openshift-multus multus-admission-controller-bt42f 2/2 Running 0 8d
openshift-multus multus-zt6dk 1/1 Running 0 8d
openshift-multus network-metrics-daemon-jqhtz 2/2 Running 0 8d
openshift-network-diagnostics network-check-source-7c9c5f694-wdg5x 1/1 Running 0 8d
openshift-network-diagnostics network-check-target-7nvd2 1/1 Running 0 8d
openshift-network-operator network-operator-cc56775cc-48j58 1/1 Running 0 7d18h
openshift-oauth-apiserver apiserver-5f696fbd78-hxw6f 1/1 Running 0 8d
openshift-operator-lifecycle-manager catalog-operator-599cd4d664-j9p69 1/1 Running 0 7d18h
openshift-operator-lifecycle-manager olm-operator-fdc678f49-9nmnc 1/1 Running 0 7d18h
openshift-operator-lifecycle-manager packageserver-54f669b87-kx6zm 1/1 Running 0 8d
openshift-sdn ovs-f8djg 1/1 Running 0 8d
openshift-sdn sdn-controller-pdqz8 1/1 Running 0 8d
openshift-sdn sdn-dmgkt 2/2 Running 0 8d
openshift-service-ca-operator service-ca-operator-78b9dcfcb7-28rvb 1/1 Running 0 7d18h
openshift-service-ca service-ca-56bbf778b6-vtv8h 1/1 Running 0 8d
7.試験用プロジェクトの作成と、busybox podの作成
Tempプロジェクトを作成してbusybox podを作成してみる。
[village@localhost ~]$ oc new-project temp
Now using project "temp" on server "https://api.crc.testing:6443".
You can add applications to this project with the 'new-app' command. For example, try:
oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
[village@localhost ~]$ oc run busybox --restart=Never --image=busybox
pod/busybox created
[village@localhost ~]$ oc get po
NAME READY STATUS RESTARTS AGE
busybox 0/1 Completed 0 35s