仮想化通信

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

Kubernetes

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…

microk8sでGPUコンテナーを使う環境を整える

先日ブラブラとサイトをみていたら、microk8s + GPUが割と楽しそうだったので試してみました。 ちなみに30分くらいで動かせました。 参考にした情報 https://microk8s.io/docs/ https://ubuntu.com/blog/using-gpgpus-with-kubernetes https://towardsdatasc…

Rancher2のMulti-Cluster Appsを試してみた

Multi-Cluster Apps機能でデプロイしたWordPress Rancher2.2から追加された機能であるMulti-Cluster Appsを試してみました。 これまでのバージョンでは管理下のクラスター「ごと」にアプリケーションカタログ機能を使って、アプリケーションを選んでデプロイ…

k3sをGitLabのCI/CDで使う

GitLabにはCI/CDを実行する機能が標準で搭載されています。 あとはRunnerというものを追加してGitLabと紐づけすることで、CI/CDを実現することができます。 最近のGitLabはKubernetesと連携する機能も標準で搭載されており、関連付けしたKubernetes上でRunne…

Rancher2にrkeでデプロイしたKubernetesノードをインポートして使う

前回、rkeを使ってKubernetesをデプロイしました。 tech.virtualtech.jp というわけで、今回はデプロイしたKubernetesをRancher 2にインポートして使ってみます。 Rancher 2のデプロイとノードのインポート まず、Rancher2を用意します。RancherはDockerがホ…

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

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

k3OSを使ってみた

[2020/4/8 追記] 文中の「sudo os-config」コマンドの部分は、最近のバージョンでは「sudo k3os install」コマンドを実行するように変わっています。セットアップ方法は以前とほぼ変わりません。文字列のコピペなどをするためにSSHアクセスしたいところです…

JujuでOpenStackを構築して、その上でKubernetesを動かしてみる

JujuでOpenStackを構築して、その上でKubernetesを動かすことができたのでこちらにまとめてみます。 今回の記事の登場人物は次の通りです。 Ubuntu Juju OpenStack RancherOS Rancher 2.x Kubernetes KubernetesはRancher 2でデプロイすることを想定していま…

話題のk3sを触ってみた

Rancher Labsがまた面白いものを開発していたので、早速k3sを試してみました。 k3s.io 使い方を3行で 対応するアーキテクチャー用のk3sバイナリーをダウンロード k3s server &を実行してちょっと待つ k3s kubectl get noでノードの情報が出てきたら構築完了 …

Kubernetes Ingressを触ってみた

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

Ubuntu 18.04LTSベースでJuju/MAASを使ってオンプレ環境でKubernetesをデプロイする方法(後編)

後編を進める前に前編を確認してください。 tech.virtualtech.jp Jujuによるアプリケーションのデプロイを実行する前に、JujuとCloud、Model、Charms、Bundleについて理解する必要があります。 詳細はJujuやMAASの公式ドキュメントをご確認いただくとして、…

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

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