とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

Apple SiliconなMacでVagrantを使ってテスト環境を用意する

普段アプリケーション開発をしていると、いろいろな環境で動作確認をしたいシーンがあると思います。 そんなとき最近であればコンテナーで環境を用意して、動作確認をすることが多いと思います。 しかし、場合によってはアプリケーションの動作確認を仮想マ…

VagrantでDockerが使える?を試してみた

Vagrantは仮想マシンを作るためのソフトウェアだと思っていました。 いつのまにか、VagrantでDockerをサポートしていました。 Vagrantは仮想マシンを作成するのにしか使っていませんでした。 ドキュメントを見るといくつかの使い方の説明があります。 https:…

macOSでLinuxで良く使うコマンドの代替を設定する

今回はちょっとした小ネタです。 Linuxで良く使うコマンドをmacOSでも使いたいなあと思うときがあります。 特にネットワークに繋がっているのに繋がらないときに確認するときなどです。 たいていはHomebrew等でインストールすれば解決できるのですが、ssコマ…

以前書いたDockerのマニフェストをARM Macでも動くようにGitHub Copilotを使って修正する

現在YugabyteDBを検証しています。YugabyteDBの動作検証のためにDockerも相変わらず使っています。 検証の初期はIntel CPU版のMacを使っていました。なので特に問題なくLinuxのDockerで動くコードをそのままIntel CPU版のMacでも動かせていました。 つい先日…

Macの買い替えとarm64アーキテクチャーへの移行

先月の話にはなりますが、普段作業用に使っているMacをIntel CPUモデルのMac mini 2018からM4 Macminiに乗り換えました。Amazonのセールで8万円程度で出ており、熟考した結果購入することにしました(その間に8千円ほど値段が前後してしまいましたが)。 使…

Ansible Core 2.17以降とRHEL8 (及びRHEL8クローン)でPlaybookが実行できない話と解決方法

同じような環境を作ったり消したりしたい場合、仮想マシンや物理マシンに環境を展開する場合はAnsibleを使っています。 10年くらいでようやく、その習慣が染みつきました*1。 環境構築自体は好きなほうなので、台数が何台になっても環境のセットアップは苦で…

作業タスクをSQLiteで管理する

今回も小ネタです。 日々の作業タスクの管理って難しいですよね。 インターネットでタスク管理をするためのツールを探せば色々なサービスが提供されていて便利そうだなと思って最初のうちは使うわけですが、気がついたらそれを使うのが億劫になったり使って…

Docker Desktopの便利なKubernetesオプション

小ネタかつ今更な話題で恐縮です。 Docker Desktopには随分前のリリースから、Kubernetesクラスターを簡単にデプロイする設定が提供されていました。 しかし私はその機能をあえてお勧めせずに、「Docker Desktopをインストールしつつ、kindやminikube CLIを…

HomebrewのDocker Desktop 4.41.1でのアップグレード失敗を解決した件

今回は小ネタです。 最近のDocker Desktopでいくつか気になる新機能が実装されたので、久しぶりにDocker Desktopを導入しました。 Docker Desktop 4.41.0(190950)を導入した後に数日でパッチリリース4.41.1(191279)がやってきたので、 いつものようにbrew up…

SDKMANのバージョン管理について調べてみた

前回の記事でも説明したように、SDKMANはJava自身やJavaベースのSDKのパッケージ管理ツールです。 sdkman.io 私は普段Macのソフトウェア管理にHomebrewを使っており、Homebrewでも対象となるソフトウェアのパッケージ管理はできるのですが、 特定のバージョ…

helmとhelm templateについての気づき 最終回 csplitを使ったマニフェストの分割

次にcsplitを使ったマニフェストの分割について試しました。 普段使いの環境はmacOSなのですが、csplitコマンドがインストールされていました。 どうやらHomebrewを使い始めるときにインストールする、コマンドラインツールに含まれるようです。 ChatGPTさん…

helmとhelm templateについての気づき 第二回 yqを使ったマニフェストの分割

さていよいよ本題に入るのですが、この作成されたマニフェストを見てみると、複数のYAML形式で書かれたマニフェストが合体しているようなファイルになっています。 $ helm template mywordpress ./wordpress -f ./values.yaml > mywp-manifests.yaml ものす…

helmとhelm templateについての気づき 第一回 helmについておさらい

今更な話題ですが、Kubernetesにはhelmという便利なアプリケーションインストーラーがあります。 例えばこのように実行すると、Kubernetesにあらかじめ決められた設定でアプリケーションを展開できます。 $ helm install <app-package> 例えば次のようにNamespaceを指定し</app-package>…

Docker DesktopのDocker AI「Gordon」を使う

最近、いろいろなソフトウェアにAI機能が搭載されていますが、Docker Desktopにも実装されていたので触ってみることにしました。 私が触ったのはバージョン4.40.0のDocker Desktopで、このAI機能はベータ機能として利用可能になっています。利用するにはDock…

Homebrew版JDKを卒業してSDKMANでJDKをインストールする!

macOSでは色々なソフトウェアのインストールに、ずっとHomebrewを使っていました。 手元のマシンで普段使いのほとんどのGUIのアプリケーションやコマンドラインツールの導入にHomebrewを使っています。 仕事でJavaでうごくApache Jmeterを最近利用するのもあ…

Docker Composeで既存のDockerネットワークにアプリケーションを追加する

今回はちょっとした小ネタです。 最近お仕事でKubernetesよりDockerを多く使っている私です(KubernetesもDockerも好きです)。 これまで、普段Dockerは決めた構成で動かすということしかやってきていませんでした。 具体的にいうと「こういう構成で動かす」…

zshシェル環境でalias -sとsetoptを指定したら便利だった

普段使いのmacOS環境ではzshシェルを現在は常用しています。 使っているうちにこれはどうするんだろうと思っては調べて.zshrcに書いて設定を適用みたいに、zshrcを日々温めています。 最近追加して便利だった設定をご紹介しようと思います。 ファイルを指定…

Fluent Bitを使ったテスト環境におけるアプリのログ収集

最近とある案件でFluentdやFluent bitを触ることが多くなりました。 きっかけは案件ではありましたが、これを使えば検証や開発用サーバーや環境のログ収集が手軽にできるのではと思い、試してみることにしました。 今回使ったのはFluent bitの方です。 Fluen…

新しくなったMultipassを触ってみる

MultipassはUbuntuを開発、サポートするCanonicalが提供する、マルチプラットフォームに対応する仮想マシンソフトウェアです。 https://multipass.run 分類としては仮想マシンソフトウェアではありますが、基本的にUbuntuベースでOKな人向けのツールです。 …

Podmanを振り返ってみる

先日の勉強会と資料は次に掲載されています。もしご都合がつけば、次回の勉強会にぜひご参加ください。 devops-study.connpass.com 先日の勉強会でPodmanが取り上げられたので、早速できるだけ新しいバージョンのPodmanを使ってみようと思いました。 偉そう…

textlintを使って文書校正環境を作ってみた

仕事柄、ブログを書いたり、たまに雑誌の記事を書いたりすることがあります。 Windowsを使っていた時代は一太郎とATOKを使って、書いた文章の文書構成をしていました。 MacではATOKは動きますが、一太郎は動きません*1。その上、今のATOKはサブスクしかない…

Pythonモジュール管理の新たな道具:pipxを使ってみた

Pythonには色々な便利なモジュールが存在します。中には単体で動くCLIツールなどもあったりします。 pipxは、Pythonで書かれたエンドユーザーアプリケーションのインストールと実行に役立つツールです。 macOSのbrew、JavaScriptのnpx、Linuxのaptやdnfに似…

Debian/Ubuntu以外でLinuxでRosettaを使う

サーバークライアント環境を構築したかったので、クライアントはmacOS上にUTM.appを使って仮想マシンで用意しました。 インストールも終わっていざクライアント環境にCLIをインストールしようとしたときにハッと気がつきました。 ARM64に対応するクライアン…

OpenShiftのOperatorを利用してArgo CDを導入する

OpenShiftにはOperatorという仕組みがあり、デフォルトで導入されています。これにより、コンテナベースで様々なアプリケーションサービスを簡単に導入できます。今回はそのOperatorを使って、GitOpsツールの一つであるArgo CDを導入してみました。 Argo CD…

RHEL 9.4のPodman 4.9でヒアドキュメントが使えるようになったらしいので試してみた

標題通り、2024年5月1日にリリースされたばかりのRedHat Enterprise Linux (以下RHEL)9.4のPodman 4.9でヒアドキュメントが使えるようになったらしいので、早速試してみました。 RHEL 9.4でと書きましたが、今後リリースされるであろうRHELクローンディス…

Rancher Desktop 1.13を触ってみる

Rancher Desktop 1.13.1がリリースされていたので、早速触ってみました。 このブログでは久々に取り上げましたが、Rancher Desktopは直近のリリースで様々なアップデートが行われました。 私が気になった機能をピックアップすると、こんな感じです。 1.13 We…

Terraform/OpenTofuのOpenStack Providerを使ってインスタンスを複数作成してみる

Terraformは色々なクラウドに対応しており、色々な環境を用意する場合に便利なデプロイツールです。 OpenTofuはTerraformのフォークであり、オープンソースライセンスで開発されています。 対象となるバージョンはそれぞれ次のとおりです。 % terraform vers…

GAリリース!Docker Initでアプリケーション開発が便利に

Docker DesktopのDocker InitがGAになりました(=正式リリース)。 www.docker.com Publickeyさんも記事を書かれています。 www.publickey1.jp Docker InitはDockerでアプリケーション開発するときに便利な機能で、Docker Desktopに実装されています。 以前…

OpenTofuが使いやすくなっていた

OpenTofuはTerraformを含めたHashiCorp製品の実質的なクローズソース化をきっかけとして、 オープンソースで開発が継続しているTerraformのフォークです。 現在はLinux Foundationのプロジェクトの一つとして活動されています。 以前もこのブログの方で取り…

WiresharkをHomebrewでインストールもアンインストールもできなくなった件の解決

Homebrewを使ってインストールしたWiresharkが消すこともインストールすることもできない状態になってしまいました。 HomebrewのWiresharkはFormulaeとCaskがあり、今回の場合はCaskでインストールしていました。 Caskでインストールした場合、GUIのWireshar…