概要
OpenShift4.x以降はMinishiftがなくなり、OpenShift CodeReady Container(CRC)となっている。 以下では公式ドキュメントに沿って手元のベアメタルサーバへインストールを行う。このサーバで色々なことを試してみる。 https://crc.dev/crc/
環境
- ホストOS:CentOS7.7
- 構成図 マシン上でCRCをインストールすると自動的にNWが作成されてCRCが作成される 。 OpenShiftのWebコンソールへアクセスする際には、ベアメタルマシンへリモデスした上でマシン上のブラウザからアクセスする必要がある。
- 環境確認
[root@ip-172-31-19-74 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
手順
公式ドキュメントの手順に沿ってインストールする。
1.NetworkManagerをインストールし、起動する
[root@ip-172-31-19-74 ~]# yum -y install NetworkManager
[root@ip-172-31-19-74 ~]# systemctl restart NetworkManager
2.資材をダウンロードして、解凍して、パスの通ったフォルダへ移動
[root@ip-172-31-19-74 ~]# yum -y install wget
[root@ip-172-31-19-74 tmp]# curl -k -L https://developers.redhat.com/content-gateway/rest/mirror/pub/openshift-v4/clients/crc/latest/crc-linux-amd64.tar.xz -o /tmp/crc-linux-amd64.tar.xz #ダウンロードにかなり時間を要します。
[root@ip-172-31-19-74 ~]# cd /tmp
[root@ip-172-31-19-74 tmp]# xz -dc /tmp/crc-linux-amd64.tar.xz | tar xfv -
[root@ip-172-31-19-74 tmp]# cp -pi crc-linux-1.38.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@ip-172-31-19-74 tmp]# su - centos
[centos@ip-172-31-19-74 ~]$ cd
[centos@ip-172-31-19-74 ~]$ crc setup
Would you like to contribute anonymous usage statistics? [y/N]: N # crcのqcow2をダウンロードするのに時間がかかります。
[centos@ip-172-31-19-74 ~]$ crc start
下記のような出力が表示される
INFO A CodeReady Containers VM for OpenShift 4.9.12 is already running
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: wtXdm-cJwtQ-Jo3Ny-hKoRU
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コマンドにパスを通す
[centos@ip-172-31-19-74 ~]$ crc oc-env
[centos@ip-172-31-19-74 ~]$ eval $(crc oc-env)
5.ログイン
oc startしたときの出力結果に従ってoc login
する
[centos@ip-172-31-19-74 ~]$ oc login -u developer https://api.crc.testing:6443
[centos@ip-172-31-19-74 ~]$ oc login -u kubeadmin https://api.crc.testing:6443
6.動作確認
[centos@ip-172-31-19-74 ~]$ oc get node
NAME STATUS ROLES AGE VERSION
crc-xxcfw-master-0 Ready master,worker 23d v1.22.3+e790d7f
7.試験用プロジェクトの作成と、busybox podの作成
Tempプロジェクトを作成してbusybox podを作成してみる。
[centos@ip-172-31-19-74 ~]$ 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
[centos@ip-172-31-19-74 ~]$ oc run busybox --restart=Never --image=busybox
pod/busybox created
[centos@ip-172-31-19-74 ~]$ oc get po
NAME READY STATUS RESTARTS AGE
busybox 0/1 Completed 0 23s
最後に
CentOSに無事CRCをインストールすることができました。これでOpenShiftについてじっくり学べますね。 最近では書籍も執筆されているようです。良かったら読んでみて下さい。