概要

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についてじっくり学べますね。 最近では書籍も執筆されているようです。良かったら読んでみて下さい。

OpenShift徹底入門

OpenShift徹底活用ガイド