Carpe Diem

備忘録

Kubernetes

Kubernetesを扱う上で便利なツール

概要 Kubernetesを利用する上であったら便利なツールの紹介です。 stern kubectx kubens stern podのログを簡単に取れるツールです。 github.com インストール $ brew install stern

Kubernetesのresource requests, limits

概要 Kubernetesには以下のフィールドでCPUやメモリを制限することが可能です。 spec.containers[].resources.limits.cpu spec.containers[].resources.limits.memory spec.containers[].resources.requests.cpu spec.containers[].resources.requests.memor…

KubernetesでEnvoyを使ったSidecarパターンを実装

概要 前回書いた構成をKubernetesで実装してみます。 christina04.hatenablog.com 環境 minikube v0.26.1 kubernetes v1.10.0 成果物 今回のソースです。 github.com

Kubernetesのheadless serviceを使って各PodのIPを知る

概要 gRPCを用いた負荷分散ではEnvoyを使ったL7のバランシングが最近の主流になっています。 ただEnvoyが各Podに振り分けるためにPodのIPを知る必要があります。 ECSはService Discoveryを持っていないので自前でたてるか、control planeを用意してそれをSer…

Kubernetes を使ったマルチホスト環境でのクラスタを構築する【flannel編】

概要 前回の続きです。 今回はflannelを導入してマルチホストでのコンテナ間通信を可能にします。 マスターの設定 flannelの設定 flannel.json ネットワークの設定ファイルを用意します。適当にflannel.jsonとします。 { "Network": "10.20.0.0/16", "Subnet…

Kubernetes を使ったマルチホスト環境でのクラスタを構築する【基礎編】

概要 Kubernetesを使ってDockerのクラスタを構築します。Kubernetesを使うことで以下のような本番環境を意識したシステムを構築できます。 フェイルオーバー(コンテナが異常終了したことを検知し再起動させる) スケーリング(起動しているコンテナの数を自…