仮想化通信

https://tech.virtualtech.jp/

日本仮想化技術株式会社の公式エンジニアブログ

フィード

記事のアイキャッチ画像
MAASとLXDの話
仮想化通信
MAASにはLinux KVM hostをデプロイしてMAASの管理下に加える機能があります。このブログでも何度か取り上げています。 具体的に何をするかというと、MAASの画面からLinux KVM環境をセットアップして、そのLinux KVMホストで仮想マシンを作成し、その作った可能マシンにMAASでOSをセットアップしたり、固定のIPアドレスを払い出したりみたいなことができます。MAASを使えばOSのセットアップからLinux KVMの環境までを自動化できます。 デプロイしたLinux KVM環境はMAASによってリソース監視されます。作った仮想マシンは環境がいらなくなったらリリースできま…
10日前
記事のアイキャッチ画像
Ubuntu 24.04のCockpitでLet's EncryptのSSL証明書を使う
仮想化通信
2024年4月25日、Ubuntu 24.04 LTSがリリースされました。 筆者はUbuntu 24.04 LTS + Cockpitを自宅の次期仮想マシンプラットフォームにする予定で、先日ベータ版を利用して紹介記事を書いたのですが、この記事では自己署名証明書をそのまま利用していました。そこでこの記事の補完ネタとして、Let's Encryptで正規のSSL証明書を取得し、Cockpitから利用する方法をここで紹介します。 CockpitはLAN内で運用する上、SSL証明書の取得のためだけにポートを開きたくはないため、DNS-01チャレンジを使用します。またDNSサーバーとしてはAWSのRo…
14日前
記事のアイキャッチ画像
Ubuntu Server 20.04のLXD環境が壊れてヒヤッとした話
仮想化通信
何気なしにLXD環境があるOSをアップデートをして、再起動をしたら、いつまで経ってもLXDが起動しなくなってしまいました。しかしこれはOSC( https://ospn.jp )のWebサーバーなので、呑気なことも言ってられず、なんとかすぐに治す必要があります(何気なしにアップデートするな、それはそう)。結果としては20分ほどで解決はできましたが、今日のヒヤリハットでした……。 現在の環境 LXDホストはUbuntu Server 20.04上にsnapで導入しており、CentOS 7 x 1台、Ubuntu Server 20.04 x 2台の計3VMが動いています。トラックはlatest/…
17日前
記事のアイキャッチ画像
MAASでAlmaLinuxのイメージを作ってデプロイを試してみる
仮想化通信
MAASはこのブログでも何度か取り上げたように、ベアメタルプロビジョニングを実現するツールです。わかりやすく言うと、パソコンやサーバーを用意したら、アプリケーションを実行するために何らかのオペレーティングシステム(OS)をインストールします。普通はOSのイメージをCDとかUSBメモリーとかに用意してインストールするのですが、管理するマシンの台数が増えてくるとその方法は効率的ではありません。そんなときに使うのがプロビジョニングツールです。 MAASはOSのデプロイの他、ノードのテスト、サーバーのIPアドレスマネジメント、ストレージやNICの構成変更等もMAASから行えます。 MAASはUbunt…
22日前
記事のアイキャッチ画像
新しいMicroStackを使ってみる
仮想化通信
MicroStackとはなにか MicroStackとは、プライベートクラウドソフトウェアであるOpenStackをラップトップやベアメタルサーバーに簡単にセットアップできるソフトウェアです。シングルノードで動かしたり、マルチノードにも対応しています。 Kubernetesに対してMicroK8sというものがありましたが、そのOpenStack版がMicroStackというわけです。 現在のMicroStackはベースにMicroK8s、その上にMicroStackベースのOpenStackが載る形になるので、双方の基礎的な理解が必要になります。まあでも勉強にはなります。 最近VMwareが無…
5ヶ月前
記事のアイキャッチ画像
Mac(zsh)で自作コマンドのタブ補完を作ってみる
仮想化通信
PythonのvenvをActivateするときに、いちいちsourceコマンドでパスを書いてactivateするのは面倒なので、以下のような関数を作成して~/.zprofileに入れて運用しています。venvは~/pyディレクトリにまとめてあるので、そこにあるディレクトリ名だけ指定すればactivateできます。指定された名前がなければ新規作成します。 function venv_activate(){ if [ ! -d ~/py/$1 ] ; then virtualenv ~/py/$1 fi source ~/$1/bin/activate } これはこれで便利ですが、名前を思い出せ…
7ヶ月前
記事のアイキャッチ画像
OpenStack YogaをJujuでセットアップしてみる
仮想化通信
これまでもこのブログでJuju + MAASを使ったOpenStackの構築方法について定期的に取り上げていましたが、 今回久しぶりにJujuでOpenStackをセットアップしたので、参考にした情報とかハマったところとかを共有するためにブログに書いてみます。 JujuとOpenStack Juju はCanonicalが中心となって開発しているデプロイツールです。 Jujuは「Cloud」に対してマシンの作成、アプリケーションセットアップ、セットアップしたアプリケーションの管理を管理できるツールです。 オンプレ環境でOpenStackをJujuで構築する場合、同じくCanonicalのMAA…
7ヶ月前
記事のアイキャッチ画像
containerd + nerdctlを使ってみた
仮想化通信
containerdはKubernetesに対応するコンテナランタイムの一つです。 containerdにはctrというCLIインターフェースがあり、これを使ってコンテナの実行やイメージのPullなどができるのですが、Dockerのそれとはコマンド操作に互換性はありません。 しかしnerdctlを使うと、ほぼDockerと変わらない操作性でコンテナの運用ができるようになります。 実際Rancher Desktopでランタイムをcontainerdにすると、nerdctlを使って同じようにコンテナ操作ができるので手っ取り早く試してみたい方はRancher Desktopをインストールして試してみ…
10ヶ月前
記事のアイキャッチ画像
Multi-Instance GPUをDockerやMicroK8sで使ってみる
仮想化通信
NVIDIAのGPUのH100、A100、A30にはマルチインスタンスGPU(以降MIG)という機能が実装されています。 かつては専用ソフトウェアを使って1つのGPUを複数のGPUがあるかのように見せて、対応するアプリケーションで使うことができましたが、 先に挙げたGPUであれば追加ソフトウェア導入の必要なく、複数のインスタンスでGPUが使えます。 https://www.nvidia.com/ja-jp/technologies/multi-instance-gpu/ MIGをDockerで使ってみる 環境のセットアップ MIGをDockerで使うには、まず、OSにDocker Engine…
10ヶ月前
記事のアイキャッチ画像
MicroK8sでPG-Stromコンテナを動かす
仮想化通信
今回はMicroK8sでPG-Stromコンテナを動かしてみようと思います。 MicroK8sはこのブログで何度か取り上げたように、Kubernetesクラスターを簡単にセットアップすることができるツールです。 microk8s.io PG-StromはPostgreSQLデータベースの拡張機能です。GPUやNVME-SSDなどを利用して、主にバッチおよび分析ワークロードを高速化することを目的としたソフトウェアです。 github.com 今回はMicroK8sでKubernetesを動かし、PodでGPUが使える環境をセットアップした上でPodでPG-Stromを動かしてみようと思います。 …
10ヶ月前
記事のアイキャッチ画像
Microk8sのPodでGPUを使う(2023年7月版)
仮想化通信
今回のネタは以前同じような記事を書いたので、そのアップデート版です。 次の記事も併せてご覧ください。2019年ごろの記事です。今もだいたい通じます。 tech.virtualtech.jp さて、本題に入る前にそれぞれざっくり説明します。 MicroK8sとは MicroK8sとはUbuntuを開発するCanonicalが開発しているKubernetesクラスターを簡単にセットアップできるツールです。次が公式サイトで、一般的なx86PCやサーバーからRaspberry PiのようなARMボードなどでKubernetesクラスターを作成できます。 microk8s.io [追記] MicroK8…
10ヶ月前
記事のアイキャッチ画像
PG-StromをUbuntuで使ってみた
仮想化通信
PG-StromはCUDA、GPUとGPUDirect Storage対応したストレージを組み合わせて使うことで、 PostgreSQLの処理をスケールさせて高速化するソフトウェアです。 また、PG-StromでApache Arrow形式のデータを外部テーブルとして利用する機能も含まれます。 Apache Arrow形式はデータの読み出しがとにかく速いので、PostgreSQLで使えるとかなり データ分析が捗ります。 Arrow形式は必要なところだけしか読み出さないので、読み出しが高速化 PG-Stromは処理部分はGPUにスケールするので、CPUで動かすよりもデータ処理を高速に Arrow…
1年前
記事のアイキャッチ画像
PG-StromをAnsible Playbookで環境構築
仮想化通信
「PG-Stromのパッケージング化」がお題となったため、去年末くらいに検証したDocker/PodmanといったようなコンテナーでPG-Stromを動かす方法 に次いで、AnsibleでPG-Strom環境構築の自動化する方法について調査することにしました。 今回はRed Hat Enterprise Linux 8.6とRocky Linux 8.7に対応する形にしました。RHELは偶数バージョンのみサポート期間が長いという特性があるので、バージョン8.6にしています。今後も偶数バージョンがリリースされるごとに対応する予定です。 Rocky LinuxはRHELクローンのひとつですが、CU…
1年前
記事のアイキャッチ画像
PostgreSQLに簡単にラージサイズのテーブルを作る方法
仮想化通信
現在取り組んでいる仕事で、かなり大きいサイズのデータベーステーブルを作る必要がありました。正直言ってそれを簡単に作る方法はいくつかあるのですが、テーブルのフィールド(表計算ソフトで言うところのセル)に乱数が入っていたり、aとかbとかcとかいう適当な文字列が入っていたり...といったようなデータは用意できるのですが、それをSELECTしてもなんか面白くありませんし、そのデータを使って集計処理とか色々するにもちょっと都合が悪いので、PostgreSQLに簡単にラージサイズのテーブルを作るものを作ってみました。 データベースとテーブルの作成 データベースを作成して、それに切り替えます。 =# CRE…
1年前
記事のアイキャッチ画像
BIツールのTableau DesktopでPG-Stromとつないでみた
仮想化通信
Tableau Desktopはビジュアル分析ツールです。 ドラッグ&ドロップ操作でデータをグラフ化してデータの分析をサクッとできる点が魅力です。 CSVファイルやExcelファイルといったようなローカルファイルデータの他、商用版であるTableau Desktopでは様々なデータベースの接続をサポートします。 www.tableau.com 今回Tableau Desktopを利用できる機会があったので、PG-StromがセットアップされているPostgrSQLノードに接続してみました。 接続の流れ まず、PostgreSQLコネクターのページを確認します。 ここで重要なのは、PostgrS…
1年前
記事のアイキャッチ画像
Rosetta for Linuxを触ってみた
仮想化通信
Macで動くmacOS 13(Ventura)以降とApple Siliconチップ(執筆時点だとM1やM2)の組み合わせを使うと、「Rosetta for Linux」を使えるようになります。ここでいうRosettaとはApple Siliconチップの上でIntel CPU向けアプリを動かすことが可能なRosetta 2のことを指しており、この機能はそれをVMで使ってしまう技術です。 Macでもフリーで使えるVirtualBoxは活躍してくれていましたが、VirtualBoxはx86をエミュレートするソフトウェアであり、Apple Siliconチップには対応していませんでした(現在はM1…
1年前
記事のアイキャッチ画像
KubernetesのモニタリングツールのKubesharkを触ってみた
仮想化通信
Kubesharkとは 図は公式 より抜粋 KubesharkはKubernetesのための観測性・監視ツールで、マイクロサービスの動的解析、異常の検出などを実現するツールです。 Wireshark、BPF Compiler Collection(BCC)ツールなどを組み合わせた、Kubernetesを意識したものとお考えください...と説明されています。 Kubesharkは、クラスタ内の一部またはすべてのTCPトラフィックをスニッフィングし、PCAPファイルに記録し、HTTP1.0, HTTP1.1, HTTP2, AMQP, Apache Kafka, Redisなどのアプリケーション層…
1年前
記事のアイキャッチ画像
DACとACアダプタの間にノイズフィルタを入れてみた
仮想化通信
最近、急に耳が良くなったのか、スピーカーの「サー」っというノイズが気になるようになりました。「FX-AUDIO D802J++ ノイズ」で検索するとACアダプタを変えたら改善されたとかされなかったとか。ある程度はしょうがないのかなっと思いつつ色々調べてみると、電源とアンプの間に挟むノイズフィルターというのもあるんですね。同じメーカーの「Petit Susie」と「Petit Tank」を買ってみることにしました。 FX-AUDIO Petitシリーズ??? store.shopping.yahoo.co.jp Petit Susieはノイズクリーナー・ノイズフィルターで、電源装置からの出力に含…
1年前
記事のアイキャッチ画像
PG-Stromをコンテナで動かしてみた
仮想化通信
去年くらいからVTJのプロジェクトとしては「爆速DB」というプロジェクトで、DBの高速化の技術について検証をしています。 PG-Strom はPostgreSQLの拡張モジュールであり、データ分析やバッチ処理のために SQL ワークロードの GPU アクセラレーションを可能にするという技術です。GitHubでオープンソースで開発されており、インストール方法などは公式のドキュメントサイトにまとめられています。 コンテナで動かしてみようと思ったきっかけ GitHubのIssueに、「コンテナでPG-Stromが動いたらいいよね」と言ったようなリクエストがされていました。 Official Dock…
1年前
記事のアイキャッチ画像
Fluentdを触ってみた(Fluentd Quickstart)
仮想化通信
Fluentdとは Fluentdについて調べると、様々なデータの収集を統一できるオープンソースのデータコレクターといったような説明が出てきます。イベントログ、アプリケーションログ、click streamの分析に使用できるツールとの説明も見つかります。 click streamとはWebサイトの閲覧者が訪問してからそのサイトから離脱するまでの間にどのコンテンツをどのような順序で遷移したかを記録したデータのことを指します。 Fluentd Architecture (公式サイトより引用) さまざまな形式のログをFluentdで処理して、Fluentdに対応するソフトウェアと連携することで監視ソ…
2年前
記事のアイキャッチ画像
Ubuntu 22.10でSSHサーバーの待ち受けポートを変更するには
仮想化通信
2022年10月21日(日本時間)、Ubuntu 22.10 Kinetic Kuduがリリースされました。 主な変更点についてはリリースノートを参照して頂きたいのですが、一般的なユーザーにとって影響するであろうポイントは、SSHサーバーがsystemdのSocket-Based Activation経由で起動されるようになった点でしょう。 wiki.ubuntu.com この変更は、SSHサーバーの待ち受けポートを変更したい場合に影響があります。従来であれば/etc/ssh/sshd_configを直接書き換えていましたが、Ubuntu 22.10ではsystemd.socketのUnitフ…
2年前
記事のアイキャッチ画像
MIRACLE LINUX 8.4のOpenStackイメージを作成して使う
仮想化通信
私はアプリケーションや環境構築のテストをするときにOpenStackインスタンスの上で実行するのをよくやります。 単純なアプリケーションを実行したり、kubeadmなどを使ってKubernetesクラスターを動かして色々な実験をしたり、DockerやPodmanコンテナーでアプリケーションを動かしたり様々です。 MIRACLE LINUX 8.4がライセンスフリーになったこともあって、MIRACLE LINUXをコンテナーやOpenStackで使ってみたいなと思いました。 オフィシャルにはそのようなイメージは提供されていないので、今回はOpenStackイメージをハンドメイドで作ってみたのでこ…
2年前
記事のアイキャッチ画像
IPv4/IPv6でサービスを動かすコンテナイメージを使ってKubernetesで実行
仮想化通信
連載目次 KubernetesクラスターでIPv4/IPv6 Dual-stackサポートを有効にする IPv6チェック用のイメージを作成する IPv4/IPv6でサービスを動かすコンテナイメージを使ってKubernetesで実行 (今回) イメージを使ってアプリケーションを実行してみる 前回、テストに利用するイメージを作成してDockerで動作確認しました。 このイメージをKubernetesで使うには、イメージを何らかの方法で「共有」する必要があります。 今回はDocker Hubに登録する方法を試してみます。 Docker Desktopを使ったことがあるユーザーであれば、Dockerの…
2年前
記事のアイキャッチ画像
IPv6チェック用のイメージを作成する
仮想化通信
前回は、IPv4/IPv6 Dualstackを設定したKubernetesの環境構築を行いました。 tech.virtualtech.jp 今回は「IPv6チェック用のイメージを作成する」という内容で、書いてみたいと思います。 内容 KubernetesクラスターでIPv4/IPv6 Dual-stackサポートを有効にする IPv6チェック用のイメージを作成する(←今回の内容) IPv4/IPv6でサービスを動かすコンテナイメージを使ってKubernetesで実行 イメージ作成環境の作成 最終的にはクラスターでアプリケーションサーバーを動かして、IPv4とIPv6アドレスでそのアプリケーシ…
2年前
記事のアイキャッチ画像
KubernetesクラスターでIPv4/IPv6 Dual-stackサポートを有効にする
仮想化通信
Kubernetes(正確にはクラスタネットワーク)はデフォルト設定はIPv4のアドレスのみを利用するようです。 とある案件で必要になったため、KubernetesのIPv6周りを調べることにしました。 今回の内容は3回に分けてブログにしようと思います。 内容 KubernetesクラスターでIPv4/IPv6 Dual-stackサポートを有効にする(←今回の内容) IPv6チェック用のイメージを作成する IPv4/IPv6でサービスを動かすコンテナイメージを使ってKubernetesで実行 要件 今回は手元の環境の次の構成でテストしました。 Ubuntu Server 22.04 LTS …
2年前
記事のアイキャッチ画像
Podman Desktopを触ってみる
仮想化通信
Podman Desktopはアプリケーション開発者向けのコンテナ実行環境とKubernetesを提供するソフトウェアです。WindowsとmacOS、Linuxに対応しているようです。 現在は0.0.6が最新のバージョンです。 podman-desktop.io Docker Desktop有料化からおおよそ一年が経ち、同様のソフトウェアが増えてきましたね(Rancher desktop、Container Desktop、ちょっと用途が異なりますが、Multipassなど)。OSSのDockerやDocker Desktopを含めてどれも好きなんですが、今の所私のお気に入りはRancher…
2年前
記事のアイキャッチ画像
Kubernetes 1.25でデフォルト有効化された「SeccompDefault」機能で「RuntimeDefault」を試してみる
仮想化通信
本記事について この記事で書かれている内容はRestrict a Container's Syscalls with seccompをベースにしていました。このドキュメントのうち前半の指定した任意のSeccompプロファイルを使ってPodを作成する機能は1.25でデフォルトで使えるようになった機能ではなく、以前から使えるものです。 タイトルが紛らわしいと思いますので、「旧タイトル: Kubernetes 1.25でデフォルト有効化された「SeccompDefault」を試してみる」から「Kubernetes 1.25でデフォルト有効化された「SeccompDefault」機能で「Runtime…
2年前
記事のアイキャッチ画像
FedoraでCRI-Oをインストールしてみたら
仮想化通信
今日は小ネタです。 CRI-Oを試そうと思い、とりあえずFedora 36でセットアップしてみました。 kubeadmで昨日リリースされたKubernetes 1.25を試そうと思ったのですが、CRI-O 1.25はまだパッケージが用意されていないようなので、1.24を使うつもりです(そっちのネタはそのうちブログで)。 Kubernetes 1.25はセキュリティを強化したReleaseになっていて、Kubernetesのユーザーネームスペースサポート、Seccompプロファイルをデフォルトで利用するように設定する機能、ボリュームマウント時のSELinuxの改善、公式CVEフィードの改善などが…
2年前
記事のアイキャッチ画像
Raspberry Pi 4bにFedora ServerとCockpitをいれてコンテナ管理
仮想化通信
FedoraをWebインターフェイスで管理するCockpitというソフトウェアがあります。 最近のFedora Serverはデフォルトインストールオプションでインストールすると、Cockpitがインストールされます。 インストールさえすれば、RHELもそのほかのRHELクローンでも使えるはずです。Ubuntu、Debian、openSUSEなどでも使えるようです。 Cockpit Project — Cockpit Project というわけでRaspberry Pi 4bにFedoraをいれて、ラズパイ向けFedora ServerイメージにデフォルトインストールされているCockpitを…
2年前
記事のアイキャッチ画像
社内のZabbixを4.0系から6.0系にアップグレードした
仮想化通信
CentOS 7上で動かしていたZabbix 4.0を、Ubuntu 22.04に移行しつつZabbix 6.0系にアップグレードしました。Zabbixのインストール自体はなんてことはないのですが、データベースのアップグレードですこし難儀したため、その記録です。 移行元のLAMP環境 OS: CentOS 7.9.2009 Webサーバー: 2.4.6 DB: MariaDB 5.5.68 PHP: 5.4.16 Zabbix: 4.0.42 CentOS 7自体はまだサポート中ですが、新しいZabbixでは新しめのPHPを要求されるため、Ubuntu 22.04で再構築してDBを移行すること…
2年前