仮想化通信

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

Kubernetes

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…

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

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

Multus CNIでVLANモードを使う

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

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をダウンロードして実行…

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

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

Ambassador Edge Stackをmicrok8sで使ってみる

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

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

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

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…

CentOS 7 / CentOS 8 でCRI-OをKubernetesで使う

前回はUbuntu 18.04でCRI-Oランタイムを使ってKubernetesを構築する流れをまとめました。 tech.virtualtech.jp 今回はCentOS 7の場合をご紹介します。ちなみについでにCentOS 8.1で動かしてみたのでそちらもご紹介します。 [2/18 更新] 余計な手順を削除 基…

UbuntuでCRI-OをKubernetesで使う

UbuntuベースでコンテナーランタイムのCRI-Oをインストールして、kubeadmを使ってKubernetesをデプロイしたときの記録です。 ドキュメントも揃っているし、鼻をほじりながらでもできるのでは?と思っていたら、思っていた以上に大変でした。 [2/18 更新] 余…

microk8sでネットワークポリシーCNIのCiliumを使ってみた

microk8sでネットワークポリシーCNIのCiliumを使ってみました。 CiliumはKubernetes CNIの一つで、導入するとコンテナーでBPFを使うことができます。 Ciliumはスリアムと呼ぶのが一般的だそうです。ちょっと前までクリアムとかシリウムだと思っていました。 …

microk8sでKubernetes Ingressをもう少し触ってみた

以前、こんな記事を書いていました。 tech.virtualtech.jp 今回はmicrok8sでKubernetesを動かしてIngressでURLを発行してみたいと思います。 microk8sはこれまでお伝えしているようにアドオンがいくつかあり、必要なサービスをコマンド一つで有効化できます…

CoreOSでRancherを動かし、CoreOSベースでRancher Kubernetesクラスターをつくってみた

タイトルが長いですが、CoreOSでRancherを動かし、CoreOSベースでRancher Kubernetesクラスターをつくってみました。 今回の構成は次のとおりです。 詳細は述べられないのですが、OpenStackベースでKubernetesを動かす必要があって、その予行演習を兼ねてい…

OpenShift 3.11をCentOS 7で使ってみた

OpenShift-Ansibleというプロジェクトを見つけたので、これを使ってOpenShiftを構築してみることにしました。 github.com CentOS 7にはOpenShift用のRPMパッケージが用意されていますので、OpenShiftの3.11バージョンまでは比較的に簡単にセットアップできま…

Ubuntu VMを簡単に作成できるMultipassでmicrok8sやk3sを動かしてみた

CanonicalがMultipassというツールをリリースしていたので触ってみました。 multipass.run 触ろうと思ったきっかけは偶然次のような記事を見つけたためです。 medium.com Multipassを使ってUbuntu VMを作ってその中でKubernetesとか動かしたら便利っぽいな?…

kubeadmでKubernetes 1.16 + Kata Containerを使ってみた

前回、Jujuを使ってKubernetes + Kata Containerの環境をつくってみました。 tech.virtualtech.jp 今回は、ContainerdとKata Containerをインストールして、kubeadmでK8sをデプロイしてKata Containerを使う方法をご紹介します。 Containerd を入れる方法 Ku…

Juju/MAASでKubernetes 1.16 + Kata Containerを使ってみた

しばらくJuju/MAASは触っていなかったのですが、先日次のリリースノートの「Kata Containers support」というところを見て、早速ためしてみようと思いました。 ubuntu.com ちなみにKata Containerについては、次のドキュメントを見ればすぐわかると思うので…

マルチノードでmicrok8sを触ってみた

前回次のような記事を書きました。 tech.virtualtech.jp 今回はマルチノードを試してみます。というのも、公式サイトの一覧に「Clustering (BETA)」という記述があるのに気がついたからです。 microk8s.io microk8sはいろいろな環境で小さなK8sを動かすため…

microk8sを触ってみた

ちょっとKubernetesを触りたいときの手段は色々ありますが、microk8sも割と便利なので、簡単な使い方をまとめてみたいと思います。 microk8s.io インストール方法は簡単で、Ubuntuをインストールして sudo snap install microk8s --classic を実行するだけで…

Kubernetes 1.16でYAMLではまる

最近、Kubernetes 1.16を使い始めました。ただ、Kubernetes 1.15まで問題なく動いていたYAMLファイルを使ってPodを作ろうとすると、なんかうまくいかないのでおかしいなと思ったのですが、APIがとうとう削除されたのが原因でした。 github.com ChangeLogをき…

ローカルのDocker Registoryをk3sで構築したKubernetesで利用する方法

ネットワークの都合とか、利用するイメージの都合でDocker Registoryをローカルに構築して使うというシチュエーションがあります。 KubernetesのランタイムとしてDockerを使っている場合は、Dockerのdaemon.jsonにinsecure-registriesを設定する方法があった…

コンテナーでLチカしてみる

今日は誰に役立つかわからないネタです。 Pi-Stopを複数借りることができたので、OSCのラズパイクラスターのデモ用にKubernetes上のPodでアプリを動かすとLEDがピカピカいうのを試してみたいなと思い、試してみることにしました。 用意するもの microSD Rasp…