仮想化通信

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

KubeVirtをマルチノードクラスターで利用する

これまで本ブログではKubeVirtを何回か取り上げてきましたが、今回はマルチノードのKubernetesクラスターでKubeVirtを動かしてみます。 まずKubeadmでKubernetesのマルチノードクラスターを作る KubeVirtをセットアップする前に、公式のドキュメントなどを参…

KubeVirtでTesla T4をスケジューリングするとエラーとなってKubeVirtでVMIが作れない問題

KubeVirtのGPUスケジューリングの検証のためにTesla P100のほかTesla T4も用意してもらったのですが、Tesla T4はKubernetesクラスターには認識されているものの、そのリソースを要求してVMIを作ろうとすると次のようなイベントログが発生してVMIが作成できな…

KubeVirtでNVIDIA GPUをVMにスケジューリングしてTensorflowで利用する

KubeVirtで何ができるのか、引き続き調査しています。 先日、NVIDIAのTeslaを買ってもらったので、KubeVirtでNVIDIA GPUをVMにスケジューリングしてPython+Tensorflowで利用できるか確認してみました。結果、問題なく利用することができました。 Tensorflow…

KubeVirtでWindows VMにリモートデスクトップ(RDP)アクセスする

KubeVirtはアプリケーションを仮想マシンで動作させるため、LinuxだけでなくWindowsなども動かすことができます。 近年のWindowsはコマンドベースによるアクセスも色々とできるようになってはいますが、まだまだWindowsはGUIで操作する方が多いと思います。…

Kubernetes kubctlコマンドのkubeconfigの指定について

複数のKubernetesクラスターがあった時、kubeconfigを指定してコマンドを実行すると思うのですが、毎回kubeconfigを指定するのはちょっとごちゃごちゃして嫌だなあと思い、効率的な方法がないか調べることにしました。 % ku get no --kubeconfig=$HOME/.kube…

KubeVirtのボリューム割り当てについて試す

これまで、KubernetesにKuberVirtを導入し、仮想マシンを利用できるようにしました。 tech.virtualtech.jp 前回はKubeVirt VMにKubernetesのサービスを適用しました。 tech.virtualtech.jp 今回はKubeVirtのボリューム割り当てについて試しました。 いろいろ…

KubeVirt VMをKubernetes Serviceで公開する

先日の記事でKubernetes + KubeVirtの環境が作れました。 作っただけではちょっともったいない気がしたので、まずKubeVirt VM上でアプリケーションを導入したあと、そのアプリケーションをKubernetes Serviceを使って公開することを試してみます。公式ドキュ…

KubeadmでKubernetesクラスターを作ってKubeVirtでVMを動かす

要約 Kubernetes (API)で仮想マシンが扱える 仮想マシンでアプリケーションを実行できる 仮想マシン(QEMU-KVM)でできることはいろいろやれそう 各ソフトウェアの概要 KubeadmはKubernetesクラスターを作成するツールの一つです。Kubernetesは大規模なコンテ…

Fedora 33/CentOSでKubernetesをSELinux有効で動かす

よりセキュリティを考慮したKubernetesを目指して、いろいろ調べているところです。 今回はSELinuxを有効な状態でKubernetesを動かしてみることにしました。 対象のバージョンについて Fedoraは33、CentOSは7.9および8.3のアップデート適用したバージョンを…

CodeReady Containersを使ったOpenShiftの評価

OpenShiftはベースにKubernetesを使っているとはいえ、様々な製品が組み合わされたコンテナーの統合環境であり、いざ使おうと思うとセットアップするのはなかなか難しいのが事実です。 Kubernetesをちょっと試すためのツールとしてminikubeがあったように、O…

最近のJuju Bundleで構築したOpenStackでOpenStack CLI (OSC) 実行時のエラーの対策

先日構築したOpenStackですが tech.virtualtech.jp いつものように手元の環境にOpenStack Clientを入れてコマンド操作しようとしたらエラーが発生し、うまくいきませんでした。エラー出力の結果からSSL周りのエラーであることがわかりました。 $ source admi…

OpenStack VictoriaをJujuでセットアップしてみる

これまでもこのブログでJuju + MAASを使ったOpenStackの構築方法について定期的に取り上げていましたが、最近の構成でOpenvSwitchからOVNが使われるようになったり、キーマネージメント関連でVaultが使われるようになったりとだいぶ変更があったため、試して…

Rancher RioをUbuntu + K3sで動かしてみる

Rancher RioはKubernetesのアプリケーションデプロイメントエンジンです。RioはGitベースのアプリケーションデプロイメントを実現するためのツールで、カナリア、A/B、ブルー/グリーンの展開を提供するサービスメッシュソリューションの一つです。内部的にLi…

KubernetesのHostpathを使ったホストシェルへの侵入

ちょっと前に、こんな記事を見つけました。 blog.appsecco.com 特定のKubernetesネームスペースに書き換えの権限を持つアカウントを使い、hostpathマウントを使うことでホストのシェルに侵入できるという報告になっています。 その後編は、Pod security Poli…

Multus CNIでVLANモードを使う

Kubernetesの基本設計では一つのPodには一つのNICが提供され、外部からのアクセスや内部的な通信などを全てそのインターフェイスを経由して行います。 一方、KubernetesでMultus CNIを使うと、Podに対して複数のInterfaceを付与できます。 Multus CNIがセッ…

VMware Flingsに登場したESXi Arm EditionをRaspberry Pi 4 8GB RAMモデルで試す

2年ほど前にイベントのデモとして登場していた、Raspberry Pi(arm)向けのESXiが、いよいよVMware FlingsでTech Previewの位置づけとしてリリースされていたので、早速インストールして触ってみました。 ちなみに、たまたま仕事でVMware Flingsを開いたら昨日…

自宅の机上マシンをThinkCenter M75q-1にリプレースした話

筆者は普段、数年前に組み立てた自作PCにインストールしたUbuntu Desktopで生活しています。作業的にはWebブラウザーとEmacsが動けば十分なため、性能面における不満は特になかったのですが*1、ややファンの音がうるさいことと、机上のスペースを食うことが…

Kubernetesでネットワークを検査する方法

本稿の内容は以下「How To Inspect Kubernetes Networking」の記事の前半部分を参考に、Kubernetes 1.18.6、CRIとしてDocker、CNIとしてFlannelで動作確認したものをまとめています。 www.digitalocean.com 前書き Kubernetesは、サーバーノードのクラスター…

ラズパイとJetson Nanoが混在したKubernetes環境をk3sで作る

前回はJetson NanoでK3sを用いたKubernetesクラスターを動かしてみました。 tech.virtualtech.jp 今回はラズパイ4とJetson Nanoの混在したクラスターを作ってみたいと思います。 構成について ラズパイ側は ラズパイはRaspberry Pi 4 8GBモデルを用意しまし…

K3SをNVIDIA Jetson Nanoで実行する

はじめに K3Sは、Rancher Labsによって開発されている軽量のKubernetesディストリビューションです。コンピューティングリソースが制限されるエッジコンピューティングのユースケースに最適です。x86_64、ARMv7、およびARM64アーキテクチャをサポートしてい…

MinikubeをPodman Driverで使う

はじめに MinikubeはシングルノードのKubernetes環境をローカル環境に簡単にセットアップできるツールです。 Linuxのほか、Windows、macOSに対応しています。 実行方法は対応するハイパーバイザーをインストールしておいて、Minikubeをダウンロードして実行…

VMware vSphere環境に立てたUbuntu Server 20.04でmultipathdのログが荒ぶる場合の対処

VMware vSphere環境にUbuntu Server 20.04のVMを構築している最中、syslogを見たくなって開いてみたらmultipathdのログで埋まっていました。数秒ごとに以下のようなログが出力され続けています。 Jul 2 23:59:45 hoge multipathd[757]: sda: failed to get u…

microk8sで分散型ブロックストレージの「Longhorn」を試す

Longhornは、Kubernetes用の分散型ブロックストレージシステムです。 Longhornの導入により、Kubernetesクラスターでコンテナーアプリケーションに対して永続ボリュームを提供できます。 LonghornはRancherのアプリカタログにあるため、Rancherを一度でも触…

Ambassador Edge Stackをmicrok8sで使ってみる

先日、Kubernetesのブログ記事を見ていて、Ingress ControllerとしてAmbassadorというものがあるのを知りました。 AmbassadorはKubernetesマイクロサービスへのトラフィックを簡単に公開、保護、管理するためのものだそうです。 kubernetes.io 早速使ってみ…

Juju 2.8.0 /Juju Dashboard がリリースされた

Jujuはアプリケーションのデプロイメントツールです。様々なクラウドに対応しており、クラウドと連携することでアプリケーションのデプロイメント、構成管理が可能です。このブログでもJujuは定期的に取り上げています。 最近Jujuのバージョンが2.8に更新さ…

ZabbixでPrometheusメトリックを取り込む

[追記] 記事ではZabbix 4.4を使った流れで解説していますが、Zabbix 5.0 LTSでも同じように設定して動作したので、これから試すならZabbix 5.0で動かした方がいいと思います。サポート期間的にも 前回はKubernetesクラスターをPrometheusとcAdvisorで監視す…

KubernetesクラスターをPrometheusとcAdvisorを使って監視してみる

今回はKubernetesクラスターをPrometheusとcAdvisorで監視してみるのを試してみようと思います。 Kubernetesの監視にPrometheusとGrafanaを使うのはメジャーな方法です。 久しぶりにセットアップしてみたら、Kubernetesのバージョンアップデートに伴って仕様…

Docker Swarm modeを使ってコンテナアプリを展開してみる

[2020/04/20追記] MACアドレスを一部マスクしました。 Dockerは最もポピュラーなコンテナープラットフォームで、多くのユーザーに使われていると思います。 Dockerはアプリケーションの実行を迅速に行えるのがメリットです。万が一サービスに支障があった場…

Kubernetes 1.17でPod Security Policiesを試してみる

[4/1/2020追記] ポリシー定義を詳細に書き直しました(参考情報)。 [注釈] Pod Security PoliciesはKubernetes 1.17および1.18ではBeta版の機能です。現在Kubernetes 1.19が開発版としてリリースされていますが、どこかのタイミングでGA機能になると思われ…

Ubuntu + CRI-O + Kata Container + K8s 1.17.2 を動かしてみる

Ubuntu + CRI-O + kubeadmでKubernetesな環境は次のような感じで構築できました。 tech.virtualtech.jp 今回はその構成にKata Containerをねじ込みたいと思います。 katacontainers.io 過去にcontainerdベースの構成は試していました。こちらもいずれRuntime…