Infrastructure

Infrastructure に関する投稿です。

Kubernetes ネイティブなカオスエンジニアリングツール Chaos Mesh を使ってみる

Netflix が提唱した耐障害テスト技法 Chaos Engineering。実行環境に実際に障害を発生させてアプリケーションの復旧をテストする方法です。 Chaos Mesh は Kubernetes クラスターで稼働するアプリケーションをターゲットに Chaos Engineering テストを実行で…

helmfile がステキになってた

helmfile は 複数の Helm Chart をまとめて Kubernetes cluster にデプロイするツールです。 github.com Helm のラッパーとなっており、複数の Chart から構成されるアプリを効率よくデプロイ、更新できます。Helm Chart のインストール順というか依存関係の…

Cloud Native Buildpacks を GitHub Actions で使うための Action 作ってます

Buildpacks ステキでした。 blog.kondoumh.com これを社内プロジェクトの CI で使うために GitHub Actions の Action にすることを試みました*1。 最初 Docker Action でサクッと作れるだろうとたかを括っていたのですが、よく考えるとコンテナイメージを Do…

Dockerfile 記述不要の Cloud Native Buildpacks を使ってみる

アプリがコンテナイメージで配布されていると利用者側は導入が楽で便利です。しかし Dockerfile を記述するのはそれなりに経験が必要で、試行錯誤してるうちかなりの時間が溶けてることもままあります。Dockerfile 書いた後もセキュリティスキャンとか、ベー…

setup-terraform Action で Terraform 実行を簡潔に

HashiCorp から GitHub Actions の setup-terraform Action が登場しました。 github.com 公式ドキュメントはこちら www.terraform.io 従来は terraform-github-actions が提供されていましたが、こちらは今凍結されています。 github.com Terraform は init…

VirtualBox 6.1 で Intel CPU の Nested Virtualization が解除された

Nested Virtualization は仮想マシンからホストマシンの CPU の仮想化機能を利用できる機能です。 VirtualBox では AMD CPU の Nested Virtualization が 6.0.6 でリリースされました。そして 6.1.0 で Intel CPU でも Nested Virtualization が利用できるよ…

GitLab CI で kaniko を使ってコンテナイメージを build / push

CI パイプラインは Docker コンテナ Runner で実行することが一般的なので、パイプラインの中で docker build するには privileged モードで Runner のコンテナを実行する必要があります。いわゆる DinD (Docker in Docker) です。 build: image: docker:lat…

Kubeflow が MicroK8s の Addon になってた

以前 Kubeflow を MiniKF (Minikube ベースの VirtualBox イメージ) で導入しました。 blog.kondoumh.com その後 Ubuntu 19.10 のリリース時、Kubeflow が MicroK8s の Addon として導入できるようになるというアナウンスがありました。 ubuntu.com MicroK8s…

Terraform と GItHub Actions で DigitalOcean Droplets の CI/CD を作る

VPS は DigitalOcean の Droplets が安いのでたまに利用しています。 www.digitalocean.com Terraform は DigitalOcean に対応していて専用のプラグインが HashiCorp から提供されています。 www.terraform.io Terraform 用の GitHub Actions も公開されてい…

Minikube を macOS (HyperKit) | Windows (Hyper-V) で使う

Minikube は VirtualBox / VMware の VM をノードにして使うケースが多いと思いますが、macOS の Hyperkit や Linux の KVM、そして Windows の Hyper-V などホスト OS の HyperVisor による VM を使うことで、軽量で実行性能の高いノードで環境を構築するこ…

Kubernetes ベースの機械学習基盤 Kubeflow をラップトップにデプロイする

機械学習を業務に適用するには、データの収集、機械学習モデルの作成、機械学習モデルを利用する API 開発、API を利用するアプリ開発、プロダクションへの適用、運用時の経年変化によるモデルの修正 といったプロセスで進めることになります。 Kubeflow は…

EC2 インスタンスを Android / iOS から起動・接続・停止する環境を構築する

これまで VPS をレンタルしてましたが、利用頻度がさほどでもないので、必要時だけ EC2 のインスタンスを起動することで定額課金を無くそうと思いました。t2.micro や t2.nano のインスタンスは開発環境としてはそこそこのスペックで時間当たり料金も安いの…

今更ながら PowerShell に覚醒

最近仕事で PowerShell で色々とスクリプト書くことが増えてきました。 MS-DOS 時代からあるバッチファイルで頑張るのは厳しくなってるんですが、PowerShell は Windows 7 から標準装備(XP とか Vista にもあったのかも)。Unix のシェルと同様パイプが使えて…