仮想化通信

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

Kubernetes

MicroK8sでPG-Stromコンテナを動かす

今回はMicroK8sでPG-Stromコンテナを動かしてみようと思います。 MicroK8sはこのブログで何度か取り上げたように、Kubernetesクラスターを簡単にセットアップすることができるツールです。 microk8s.io PG-StromはPostgreSQLデータベースの拡張機能です。GPU…

Microk8sのPodでGPUを使う(2023年7月版)

今回のネタは以前同じような記事を書いたので、そのアップデート版です。 次の記事も併せてご覧ください。2019年ごろの記事です。今もだいたい通じます。 tech.virtualtech.jp さて、本題に入る前にそれぞれざっくり説明します。 MicroK8sとは MicroK8sとはU…

KubernetesのモニタリングツールのKubesharkを触ってみた

Kubesharkとは 図は公式 より抜粋 KubesharkはKubernetesのための観測性・監視ツールで、マイクロサービスの動的解析、異常の検出などを実現するツールです。 Wireshark、BPF Compiler Collection(BCC)ツールなどを組み合わせた、Kubernetesを意識したもの…

IPv4/IPv6でサービスを動かすコンテナイメージを使ってKubernetesで実行

連載目次 KubernetesクラスターでIPv4/IPv6 Dual-stackサポートを有効にする IPv6チェック用のイメージを作成する IPv4/IPv6でサービスを動かすコンテナイメージを使ってKubernetesで実行 (今回) イメージを使ってアプリケーションを実行してみる 前回、テス…

KubernetesクラスターでIPv4/IPv6 Dual-stackサポートを有効にする

Kubernetes(正確にはクラスタネットワーク)はデフォルト設定はIPv4のアドレスのみを利用するようです。 とある案件で必要になったため、KubernetesのIPv6周りを調べることにしました。 今回の内容は3回に分けてブログにしようと思います。 内容 Kubernete…

Kubernetes 1.25でデフォルト有効化された「SeccompDefault」機能で「RuntimeDefault」を試してみる

本記事について この記事で書かれている内容はRestrict a Container's Syscalls with seccompをベースにしていました。このドキュメントのうち前半の指定した任意のSeccompプロファイルを使ってPodを作成する機能は1.25でデフォルトで使えるようになった機能…

cri-dockerdを使ってKubernetes 1.24を動かしてみる

Kubernetes 1.24がリリースされ、dockershimコンポーネントが削除されました。 これはKubernetes 1.24以降のバージョンでDockerをランタイムとして使うことができないことを意味します。 ところで、dockershimが削除されることは結構前から告知されていまし…

Minikubeを使ってKubeVirtを試す環境を作ってみる

このブログではKubeVirtについて何度か取り上げていました。 主にkubeadmでクラスターを作って、KubeVirtを導入する手順もご紹介しています。 tech.virtualtech.jp ちなみになぜKubeVirtを頻繁に取り上げるかというと、筆者がKubeVirtに個人的に興味があるか…

Ubuntu 22.04でkubeadmでKubernetesクラスターが動かない?

あらすじ Ubuntu 22.04でkubeadmでKubernetesクラスターを作ってみたのですが、[WARNING SystemVerification]: missing optional cgroups: blkioなんていう警告が出ますし、セットアップ後のKubernetesもKubernetes APIの動きがおかしい状況になりました。 …

KubernetesのクラスタレベルでのPod Security Standardsの適用を試す

Pod Securityは、新しいPodが作成されたときにKubernetes Pod Security Standardsに対するチェックを実行するアドミッションコントローラーです。 端的にいうと、Podを作成するときのセキュリティ上のルールを定義して、それに従わせるためのものです。Pod S…

Kubernetesで名前空間レベルのPod Security Standardsを試してみた

なぜPod Security Standardsが必要なのか Kubernetesは便利なのですが、デフォルト設定のままのKubernetesは良く言えば自由性が高い、(あえて)悪く言えばセキュリティが緩いとよく評価されてしまいます。 Kubernetesのセキュリティを高める手段の手段の一…

EKS AnywhereをvSphereプロバイダーで利用してみる

Amazon EKS Anywhere は、プライベートのオンプレミス環境でKubernetesクラスターを作成および運用できるようにする、AWS がサポート可能なAmazon EKSのための新しいデプロイオプションです。名前が示すように「どこでも、EKSのような環境を」を目指して開発…

Knativeをmicrok8sで触ってみる

Knativeとは Knativeとは、Kubernetes上にサーバレスコンピューティングの基盤を構築する、オープンソースソフトウェアです。 イベントをトリガーにしてコンテナを起動して、負荷に応じコンテナ実行数を自由に増減させるスケーラビリティを提供します。Knati…

Multipassをもう少し深掘り(公開鍵認証編)

前回、Multipassを使って手元の環境でKubernetesを動かすという記事を書きました。 tech.virtualtech.jp 今回は作ったクラスターをログインせずに使えたら便利だよねという小ネタです。 Multipass VMにssh公開鍵認証 MultipassでVMを作るには次のような感じ…

Multipassを使ってサクッとKubernetesを動かす

MultipassはUbuntuを開発・サポートするCanonicalが作成した、クライアントにインストールしてUbuntu VMを簡単にデプロイできるツールです。Windows, macOS, Linuxに対応しています。 以前まではUbuntu VMを作れるツールだったのですが、最近DockerやKuberne…

Oktetoを触ってみる

とある案件でGitOpsについて調査しており、その調査の中でOktetoという便利なサービスがあったので、ご紹介しようと思います。 Oktetoとは 公式サイトには次のように書かれています。 Make Development Faster(開発をより速くする) Instantly spin up pre-…

Rancher 2.6でGitOpsを試してみた

Rancher 2.6はEnterprise向けの機能が多数追加されると聞いていて気になっていました。特に気になっていたのはContinuous Delivery機能です。 www.suse.com Rancher 2.6以前もRancherを通じて「コンテナでDevOps」のようなことをする方法は用意されていまし…

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…

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は、サーバーノードのクラスター…