概要

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