Hero Image
OpenShift Code ReadyをCentosにインストールする(2022/1/29時点)

概要 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.

Hero Image
OpenShift Interactive Learning Portal 1 Deploying Applications From Images

はじめに 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をデプロイするには次のコマンドを実行する。

Hero Image
OpenShift環境でKubernetes公式チュートリアルをやってみる

はじめに 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.

Hero Image
コンテナ内部からコンテナを作成する(DinD, DooD)

0.動作環境 AWS EC2 Ubuntu 18.04.6 Docker 20.10.12 1. 概要 Dockerコンテナ内部でコンテナを操作することは例えばGitLab Runnerなどでよく利用されるユースケースである。 コンテナからコンテナを操作する主要な方法である DinD (Docker in Docker): Dockerインストール済みのコンテナを利用し、コンテナ内でホストとは別のDockerデーモンを動かす方法。 DooD (Docker outside of Docker): Dockerインストール済みのコンテナを使用するのはDinDと同じだがdockerd、containerdは使用しない。代わりコンテナ側からホストのdocker.sock (/var/run/docker.sock)をマウントする。そのため、コンテナ上のDockerコマンドはホスト側のDocker環境で実行されることになる。 上記2種類の方法を今記事では扱う。 2. DinD Docker 公式のDinDに対応しているイメージであるdocker:stable-dindを利用する。 ubuntu@ip-172-31-17-145:~$ docker run --privileged --name dind -d docker:stable-dind デフォルトのままでは、Dockerコンテナはデバイスファイルにアクセスできないためコンテナ内でDockerデーモンを起動することはできない。 DinDコンテナの起動のためprivilegedフラグを付与し特権モードで動かす。 起動した確認する。 ubuntu@ip-172-31-17-145:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 21824f35109e docker:stable-dind "dockerd-entrypoint.…" 56 seconds ago Up 55 seconds 2375-2376/tcp dind DinDコンテナのシェルに入り、dockerコマンドを利用可能なことを確かめる。 ubuntu@ip-172-31-17-145:~$ docker exec -it dind ash / # docker -v Docker version 19.

Hero Image
Chromeの拡張機能で名前解決の設定を変更する

Google Chromeの拡張機能で/etc/hostsのファイルを変更せずに名前解決を設定できるものがあります。 今回の記事ではChromeの拡張機能のみで/etc/hostsを書き換えるような設定を行える「Virtual Hosts」をご紹介します。 インストール方法 https://chrome.google.com/webstore/detail/virtual-hosts/aiehidpclglccialeifedhajckcpedom こちらのURLをクリックしていただくと、インストール画面が表示されます。 拡張機能Virtual Hostsのメリット /etc/hostsを編集するとGoogle Chrome以外のブラウザにも変更が反映されてしまいます。 しかし、拡張機能Virtual Hostsを使えばPCの/etc/hostsを変更することなく、名前解決をすることができ、Chrome以外に設定が反映されることはありません。 触ってみて思った拡張機能Virtual Hostsのデメリット 単一のホスト名しか登録できず、対応するIPアドレスも一つに限定されています。 では複数のホスト名を設定するにはどうすれば良いか? /etc/hostsを編集する HostAdmin APPをChromeにインストールする (注意)こちらの方法だと、/etc/hostsを編集するのでChrome以外のブラウザにも影響が出ます。また、/etc/hostsを編集できる権限をchromeに与える必要があります。 https://chrome.google.com/webstore/detail/hostadmin-app/mfoaclfeiefiehgaojbmncmefhdnikeg からインストール可能です。 最後に 今回はChromeの拡張機能で/etc/hostsを編集する方法を紹介しました。 Virtual Hostsには制限も多いですが、一時的に利用する分には十分事足りるのでは無いでしょうか? 何か他に良いツールがあれば、コメント下さると助かります。