Red Hat CodeReady Containers 1.31.2は飛躍的に進化しました

Red Hatでソリューションアーキテクトをしている田中司恩(@tnk4on)です。

この記事はRed Hat DeveloperRed Hat CodeReady Containers 1.31.2 makes the leap を、許可を受けて翻訳したものです。


-目次-

https://developers.redhat.com/sites/default/files/styles/article_feature/public/ST-containers_1x%20%281%29.png?itok=KNnv50nY

Red Hat CodeReady Containersは、ローカル環境での開発とテストをサポートしたRed Hat OpenShiftクラスタです。私たちは最近、CodeReady Containers 1.31.2をリリースしましたが、これはOpenShift 4.8のメジャーリリースに基づく最初のバージョンになります。CodeReady Containersチームは定期的に我々の進歩を公表していないので、この記事は過去数ヶ月間のCodeReady Containersの最大の変更点を知る良い機会となります。

OpenShift 4.8へのアップグレード

このリリースでは、OpenShift 4.8を使用するようにCodeReady Containersを更新しました。このリリースではデベロッパープレビューとしてシングルノードのサポートが提供されています。 また、OpenShiftのMachine Config Operatorを有効にしたことで、ユーザーはレジストリやプロキシの設定、あるいはMachine Config Operatorを使用してクラスタを変更するその他の変更について、OpenShiftのドキュメントに従って行うことができるようになりました。以前のリリースでは、これらの変更にはCodeReady Containers固有の手順が必要でした。次のビデオでは、Machine Config Operator(MCO)を有効にする方法を紹介しています。

youtu.be

インストーラー

macOSとWindows 10ではネイティブなインストーラー(それぞれ、.pkgファイルと.msiファイル)の提供を開始しています。 ネイティブインストーラーでは要件チェックがより統合され、インストール手順がさらに簡単になりました。 次のビデオでは、macOSでのインストールが30秒以内で完了する様子を紹介しています。

youtu.be

インストーラーはインストールの前にオペレーティングシステムにより正しく検証できるように署名されています。これは最近のサプライチェーン攻撃を踏まえると、特に重要です。 macOSとWindowsにCodeReady Containersをインストールして使用する方法としてインストーラーは唯一のサポートされている方法です。

システムトレイ

macOSとWindowsの新しいインストーラーにはシステムトレイアイコンが付属しています。 このアイコンを使用して、クラスターの起動や停止といったCodeReady Containersの直接操作が可能です。 OpenShiftインスタンスを管理するために、シェルプロンプトに戻る必要がなくなりました。

新しいネットワークスタック

長年にわたるCodeReady Containersの最大の問題点の1つは、特に企業環境におけるネットワークでした。 crc.testingドメインをCodeReady Containers仮想マシンへリダイレクトするようにホストシステムのDNSを構成するには、多くの場合スーパーユーザーの特権が必要でした。 さらに、企業のVPNやファイアーウォールが邪魔をしてこの設定が機能せず、エンドユーザーのクラスター接続の問題が発生することもありました。

数リリース前に、gvisorに基づくユーザーランドのネットワークスタックに移行を開始しました。 仮想マシンによる全てのネットワーク通信は、ホスト上で実行するCodeReady Containersデーモンを経由するようになりました。 DNS解決のための/etc/hostsファイルの使用が改善されたことに加えて、この変更によりネットワーク設定がホスト構成の変更にあまり依存しなくなりました。 また企業ネットワークにおける前述のような問題も回避されています。 この新しいネットワークスタックはWindowsとmacOSでデフォルトとなっています。

ディスク拡張

CodeReady Containersインスタンスはデフォルトで31GBのディスクイメージを使用しますが、これは重いワークロードをデプロイしたいユーザーにとっては十分ではありません。

crc startを実行する際に、 --disk-sizeまたは-d コマンドラインオプションを使用して、ディスクのサイズを動的に希望のサイズに拡張可能になりました。 ディスクサイズの変更は拡張のみ可能で、縮小はできません。 次の例はCodeReady Containersインスタンスを40GBに変更しています

$ crc start --disk-size 40

macOSやWindowsでは、システムトレイのアイコンを使って簡単にディスクサイズを変更することもできます。

まとめ

この記事では、CodeReady Containersチームが過去数ヶ月の間に行った最も注目すべき変更点をまとめましたが、それ以外にもたくさんの細かい改良やバグ修正が行われました。 CodeReady Containers 1.31.2をお試しいただき、何か問題があればご報告いただくことを強くお勧めします。

私たちはこれからもCodeReady Containersの改良、改善をしていきます。 ロードマップには、Podmanの統合やリモートのCodeReady Containersインスタンスとの統合の改善などが含まれていますので、ご期待ください。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。