TL;DR
Windows端末1台にOpenShiftサーバとLinuxクライアントを構築し、OpenShiftを検証するための環境を構築する手順を記載します。OpenShiftはminishiftで構築します。
環境
- OS 名 Microsoft Windows 10 Pro
- バージョン 10.0.19013 ビルド 19013
- プロセッサ Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz、4200 Mhz、4 個のコア、8 個のロジカル プロセッサ
- インストール済みの物理メモリ (RAM) 48.0 GB
前提
- minishiftを利用するために必要な仮想化ソフトの設定が完了していること。WindowsではHyper-VかVirtualBoxを利用しますが、今回はHyper-Vを利用しています。Hyper-Vを使ってminishiftを構築する方法についてはこちらの記事を参考にしました
- WSL2の設定が完了していること。設定方法はこちらの記事を参考にしました
手順
大筋の流れはPowerShellでminishiftを構築し、OpenShiftへの接続情報をWSL2の環境にコピーしてWSL2から接続できるようにしています。
サーバ(minishift)
以下のコマンドでminishiftの設定および起動を行います。OpenShiftのバージョンは検証したいv3.9.0
を指定しました。
> minishift start --openshift-version v3.9.0 --cpus 4 --memory 16GB --hyperv-virtual-switch "External VM Switch"
-- Starting profile 'minishift' -- Check if deprecated options are used ... OK
-- Checking if https://github.com is reachable ... OK
-- Checking if requested OpenShift version 'v3.9.0' is valid ... OK
-- Checking if requested OpenShift version 'v3.9.0' is supported ... OK
-- Checking if requested hypervisor 'hyperv' is supported on this platform ... OK
-- Checking if Hyper-V driver is installed ... OK
-- Checking if Hyper-V driver is configured to use a Virtual Switch ...
'External VM Switch' ... OK
-- Checking if user is a member of the Hyper-V Administrators group ... OK
-- Checking the ISO URL ... OK
-- Checking if provided oc flags are supported ... OK
-- Starting the OpenShift cluster using 'hyperv' hypervisor ...
-- Starting Minishift VM ......................... OK
-- Checking for IP address ... OK
-- Checking for nameservers ... OK
-- Checking if external host is reachable from the Minishift VM ...
Pinging 8.8.8.8 ... OK
-- Checking HTTP connectivity from the VM ...
Retrieving http://minishift.io/index.html ... OK
-- Checking if persistent storage volume is mounted ... OK
-- Checking available disk space ... 49% used OK
-- OpenShift cluster will be configured with ...
Version: v3.9.0
-- Copying oc binary from the OpenShift container image to VM ... OK
-- Starting OpenShift cluster ......
Deleted existing OpenShift container
Using nsenter mounter for OpenShift volumes
Using public hostname IP 192.168.1.139 as the host IP
Using 192.168.1.139 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.
The server is accessible via web console at:
https://192.168.1.139:8443
起動後、oc
コマンドにパスを通して、system:admin
でログインできることを確認します。
> minishift oc-env | invoke-expression
> oc login -u system:admin
Logged into "https://192.168.1.139:8443" as "system:admin" using existing credentials.
You have access to the following projects and can switch between them with 'oc project <projectname>':
default
kube-public
kube-system
* myproject
openshift
openshift-infra
openshift-node
openshift-web-console
Using project "myproject".
クライアント(WSL2)
Linux向けのOpenShiftクライアントをダウンロードし、ファイルを解凍します。クライアントのバージョンがv3.11.0
ですが本来はサーバに合わせたバージョンを使うべきと思います。v3.9.0
にはなぜかkubectl
が同梱されておらず、私の場合は一緒に使いたかったのでv3.11.0
を利用しました。
$ wget https://github.com/openshift/origin/releases/download/v3.11.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
$ tar zxvf openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit.tar.gz
パスを通すために今回は/usr/local/bin/
にコピーします。
$ sudo cp openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit/oc /usr/local/bin/
$ sudo cp openshift-origin-client-tools-v3.11.0-0cbc58b-linux-64bit/kubectl /usr/local/bin/
minishift構築時に作成された.kube
フォルダをWSL2のユーザホームディレクトリにコピーします。今回はWindowsとLinuxにk9nd0
というユーザがいると仮定しました。
コピー元(Windows):C:\Users\k9nd0\.kube
コピー先(WSL2) :/home/k9nd0
WSL2でoc login
できることを確認します。
$ oc login -u system:admin
Logged into "https://192.168.1.139:8443" as "system:admin" using existing credentials.
You have access to the following projects and can switch between them with 'oc project <projectname>':
default
kube-public
kube-system
* myproject
openshift
openshift-infra
openshift-node
openshift-web-console
Using project "myproject".