Linux

Isito、k8sでカナリアデプロイをする

はじめに 先月の5月18日にIstioが1.10のリリースがされたみたいです。 その中でStable Revision Labelsと言う機能を使ってカナリアップデートを行なう例が乗っていて、最初言葉尻を完全に読み間違えていてアプリのカナリアデプロイが容易になると思ったので…

Raspberry PiでKubernetes The Hard Way(v1.21.0)をやる(失敗)

はじめに 最近、Raspberry Piを買ってKubeadmを使ってKubernetesのクラスタを構築してみたので今度は、「Kubernetes The Hard Way」をやってみようと思います。 Kubernetes The Hard Way自体は、VirutalBoxを使ってやったみたことはあったのですが、その当時…

Raspberry pi 3 model b+にUbuntu18をインストールする

はじめに Twitterとかでにk8sのクラスターをラズパイ上に構築しているのをよく見かけていたのですが、自分もGWでちょっとやってみようかと思い。 その仮定で、ラズパイにUbuntuをインストールする必要があるみたいなのでメモとして残しておこうと思います。 …

Docker 20.10.0についてまとめる

はじめに だいぶ前ですがDokcer 20.10.0がリリースされています。かねてからやろうと思ってやってなかったのですが、リリースノートを眺めて、気になったところをかいつまんでまとめてみようと思います。 ものによっては動かしてみようかと。 やっていく 環…

vmstatをつかってみる

はじめに vmstatというコマンドは名前は聞いたことあったのですが、あんまり使ったことなかったのでちゃんと使えるようになりたいと思ってちょっとまとめてみようかと思います。 vmstatとは vmstatコマンドはLinuxなどのOSでプロセス、メモリー、ページング…

atコマンドで指定時間にJobを単発実行させる

はじめに 最近、CrontabみたいなJobを定期的にスケジュールするのでは無くて、指定時間に単発で実行したいみたいな要件にぶち当たって、ちょっと調べていたらUnix系のOSにatというコマンドがあることに気がついたので機能を試して見ようかと思います。 at コ…

MinikubeにIstioをインストールする

はじめに 業務でKubernetesやIstioの機能の一部を利用することがあるですが、勉強のために試せる環境がほしかったのでローカルのMinikubeにインストールして見ようかと思います。 やってみる 動作環境 $ uname -srvmpio Linux 5.4.0-62-generic #70-Ubuntu S…

Docker BuildKitを使う

はじめに Dockerの 18.09 以降にはBuildKitという機能が存在しますが、今までなんとなく使ってただけなのでちゃんとまとめてある程度理解しておきたいなと Docker BuildKitとは そもそもBuildKitそのものはDocker Engineとは別でMoby Projectで開発されてい…

Docker Engine APIを使ってcURLでDokcer Engineを操作する

はじめに Docker のクライアントは公式だとGoとかPythonのものはあるようですが、UNIXドメインソケットを使ったHTTPでの操作も可能なようです。このブログではcURLを用いてDocker Engineに対するコマンドを実行してみたいと思います。 Docker Engine API Dok…

Linuxでシステムの起動時間を調べる

はじめに LinuxのシステムでOSの起動時間を調べるためにはsystemd-analyzeというツールが使えるみたいです。 このブログではsystem-analyzeについてまとめ、いくつかの機能を試してみたいと思います。 systemd-analyzeとは Linuxシステムの起動時の情報を解…

Kongのプラグインを書いてみる

はじめに Kongはマルチクラウド対応されたAPIゲートウェイです。Kongはlua-nginx-moduleとLuaと呼ばれるScript言語を利用して、 拡張プラグインを書くことが可能で、その機能を試してみようと思います。 ここでは、以下をゴールとします Kong Pluginの基本的…

Goのタイムゾーンの変更をalpineのDockerコンテナ内で行なう

はじめに Goのtimeパッケージにはいくつかタイムゾーンを指定するための関数が生えていますが、それらはすべて、 the IANA Time Zone databaseと呼ばれる世界各地の標準時間を集めたDatabaseを利用してタイムゾーンの情報を取得します。これはubuntuの環境な…

Network Namespaceを使って、Linux上で仮想のネットワーク環境を作る

はじめに ネットワークで色々実験したいときに自分自身の環境内で完結するネットワークが欲しい時があると思います。この記事ではNetwork Namespaceを使って自分のPC内に仮想のネットワークを作ってpingコマンドを送信してみたいと思います。 最初にお断りし…