仮想化通信

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

Kubernetes

新着順 人気順

KubernetesとKueueでGPUを賢く使う(中編)

Kueueの概要については、前編にまとめています。 tech.virtualtech.jp Kubernetes GPU + Kueue セットアップ手順書(Kueue入門 + Workload Lifecycle) このドキュメントは GPUを搭載したKubernetesクラスタでGPUを利用し、Kueueを使ってジョブの順番実行(…

KubernetesとKueueでGPUを賢く使う(前編)

このブログでずいぶん前に「KubernetesでGPUをつかう」と言った内容の記事を書いたことがあります。 最近の「KubernetesでGPU」って言うとどんな感じなのかなと思って公式のドキュメントを見たものの、標準の機能としては特に大きく変更は無いようでした。 K…

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

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

KubernetesとKueueでGPUを賢く使う(後編)

今回の記事はKubernetesとKueue、そしてKubeflowを連携したGPUの利用に関してです、 KueueやKubeflowは感嘆にまとめるのが難しかったため、前編、中編、そして今回の後編の3つ二分割しました。 Kueueの基礎については、前編に書いているつもりです。 tech.vi…

rkeを今更ながら触ってみた

【2019年9月5日15:00追記】若干修正しました。 【2019年9月5日18:00追記】若干修正しました。 【2019年10月1日19:00追記】/rke/releases/tag/latestがなくなっていたので修正しました。その他、若干修正しました。 これまで、Rancher LabがOSSで開発している…

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

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

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

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

Multus CNIでVLANモードを使う

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

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

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

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

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

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

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

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

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

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

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

Kubernetesと永続ストレージの使い方

Kubernetesは現在、バックエンドエンジンとしてDockerを利用しています。 Podの作成はYAML形式でエディターで書いて、kubectl createコマンドで簡単に作成できます。 作成したPodはkubectl execコマンドを使って、bashシェルなどにログインすれば仮想マシン…

JujuでCalicoを使ったKubernetes環境を構築する(前編)

KubernetesはPod用のネットワークとしてFlannelを採用されることが多いと思います。 JujuでデプロイできるKubernetesの構成でも、多くのBundleではFlannelが指定されています。 しかしこのFlannel、VXLANやGREなどを利用してL2ネットワークを構築するため、…

Kubernetes Podアプリに外部HAProxyでVIPアクセスする

今回はKubernetesのPodでWebサービスを起動した時に、外部HAProxyを使ってVIPでアクセスする方法をまとめたいと思います。 前提条件は次の通りです。 JujuとMAASで構築したKubernetesを想定 nodePortを固定してPodを作成している 外部HAProxyサーバーは固定…

Kubernetes Ingressを触ってみた

今日はだいぶ前に宿題となっていたKubernetes Ingress機能を使ってみました。 はじめに まず、実際に導入する前に、ここら辺の情報を確認しました。 K8s Ingress(公式) NodePort vs LB vs Ingress Advanced Ingress Configuration JujuでデプロイしたKuberne…

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

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

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

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

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

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

UbuntuでCRI-OをKubernetesで使う

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

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

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

MinikubeをPodman Driverで使う

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

K3SをNVIDIA Jetson Nanoで実行する

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

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

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

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

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

KubeVirt VMをKubernetes Serviceで公開する

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

Oktetoを触ってみる

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

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

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

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

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