はじめに OpenShiftの勉強をするにあたり、CodeReady Container環境を使ってKubernetes公式チュートリアルを一通りやってみる。
学習内容 公式チュートリアルでは、Deploymentの作成、状態確認、外部公開、スケールアウト、アップデート、ロールバックを行う。 https://kubernetes.io/ja/docs/tutorials/kubernetes-basics/
環境 以下で作成したCodeReady Container環境を使用 https://kurikube.github.io/post/20210131/
Module 1 - Create a Kubernetes cluster Cluster details この章ではクラスターの起動と状態確認を行う。
クラスターの起動と状態確認 Code Ready Containerのバージョンを確認する。
[centos@ip-172-31-19-74 ~]$ crc version WARN A new version (1.39.0) has been published on https://developers.redhat.com/content-gateway/file/pub/openshift-v4/clients/crc/1.39.0/crc-linux-amd64.tar.xz CodeReady Containers version: 1.38.0+659b2cbd OpenShift version: 4.9.12 (embedded in executable) OpenShift APIを実行するコマンドラインツールocのバージョンとマスターノードのバージョンを確認する。
[centos@ip-172-31-19-74 ~]$ oc version Client Version: 4.9.12 Kubernetes Version: v1.22.3+e790d7f クラスターの詳細確認 クラスターの詳細情報を取得する。
[centos@ip-172-31-19-74 ~]$ oc cluster-info Kubernetes control plane is running at https://api....
はじめに OpenShift Interactive Learning Portal の Deploying Applications From Images コースをCodeReady Container環境で行う。
https://learn.openshift.com/introduction/deploying-images/
学習内容 OpenShiftを使用する場合、アプリケーションを追加する方法はいくつかある。 主な方法は次のとおり。
既存のコンテナイメージからアプリケーションをデプロイする Source-to-Imageビルダーを使用して、Gitリポジトリーに含まれているソースコードからビルドおよびデプロイする DockerfileのGitリポジトリに含まれるソースコードからビルドしてデプロイする このコースでは、OpenShift Webコンソールおよびocコマンドをを使用して、既存のコンテナイメージからアプリケーションをデプロイする方法を学習する。
環境 以下で作成したCodeReady Container環境を使用 http://10.88.10.20:8080/open.knowledge/view/40?offset=0
Deploying Using the Command Line developerユーザでログインする。
[crc@codeready ~]$ oc login -u developer -p developer Login successful. projectは以前作成した「myproject」を使用する。
[crc@codeready ~]$ oc project Using project "myproject" on server "https://api.crc.testing:6443". デプロイするimageの名前を指定して、それがコマンドラインから有効かどうかを確認するには、oc new-app –searchコマンドを使用する。
→以下の表示結果からは、Docuer Hubレジストリにimageがあることが分かる。
[crc@codeready ~]$ oc new-app --search openshiftkatacoda/blog-django-py Docker images (oc new-app --docker-image=<docker-image> [--code=<source>]) ----- openshiftkatacoda/blog-django-py Registry: Docker Hub Tags: latest imageをデプロイするには次のコマンドを実行する。...
CRC VMの内部動作を確認する CRC VMのIPアドレスを確認する
[centos@ip-172-31-19-74 ~]$ crc ip 192.168.130.11 CRC VMへSSH接続する
[centos@ip-172-31-19-74 ~]$ ssh -i ~/.crc/machines/crc/id_ecdsa core@$CRC_IP CRC VMの中でpodmanでdnsmasq(DNSサーバ)が起動していることが分かる
[core@crc-xxcfw-master-0 ~]$ sudo podman ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 128a6fe17e5e quay.io/crcont/gvisor-tap-vsock:3231aba53905468c22e394493a0debc1a6cc6392 3 weeks ago Exited (0) 7 hours ago gvisor-tap-vsock e3593ab79e1d quay.io/crcont/dnsmasq:latest 3 weeks ago Up 7 hours ago 0.0.0.0:53->53/udp crc-dnsmasq CRC実行ホストのNetwork Manager設定 CRCセットアップ後のホスト上のdnsmasqのCRC用インスタンスは下記のようになっています。
[centos@ip-172-31-19-74 ~]$ cat /etc/NetworkManager/dnsmasq.d/crc.conf server=/apps-crc.testing/192.168.130.11 server=/crc.testing/192.168.130.11 なお、このcrc.confはcrc setupおよびcrc start時にチェックされ、設定を変更することができません
CRCホストの/etc/hosts CRCセットアップ後、CRCを実行するホストの/etc/hostsには設定が追加されます
[centos@ip-172-31-19-74 ~]$ sudo cat /etc/hosts 127....
概要 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....