ビビリフクロウの足跡

とあるインフラSEの勉強&備忘ブログ

コンテナ

docker-composeでNginx + Django + MySQLのWeb三階層を構成する

Kubernetesクラスタの構築方法など、インフラ観点での記事を書くことが多い本ブログですが、Kubernetesを学んでみると インフラエンジニアもアプリケーションエンジニアの気持ちがわかったほうがいい! というお気持ちになるのです。CI/CDとか考えると特に。…

Docker for WindowsでMySQLコンテナのデータを永続化する

Docker for WindowsでMySQLコンテナのデータを永続化する際、ホストディレクトリを/var/lib/mysqlに単純にマウントすると、MySQLコンテナ側で以下のようなエラーが出ます。 2018-11-18T10:02:32.761277Z 1 [ERROR] [MY-012646] [InnoDB] File ./ibdata1: 'op…

API Aggregationを有効化してPrometheusのメトリクスからHorizonPodAutoscalerでPodのオートスケールをする

やたら長いタイトルですが… KubernetesではAPI Aggregationといって、Custom Metrics API Serverを用意しkube-apiserverと連携することでAPIを拡張することができます。例えば今回のタイトルにもある通り、Prometheusが取得したメトリクスをAPIから取得でき…

Haproxy Ingress Controllerの導入

OpenShiftではおなじみのroute機能を、Kubernetes上でもIngressを使って再現してみたいと思います。 まずはDNSワイルドカードの有効化から。今回は*.ha-kubernetes.internalというアドレスをhaproxyポッドに割り当てます。 DNSサーバの設定 DNSワイルドカー…

Kubernetes環境にDashboardとDNSサービスをデプロイする

前回作成したマルチマスターKubernetes環境はKubernetesの最小構成なので、今回はDashboardとDNSサービスをデプロイしたいと思います。 まずはDashboardのデプロイから。 Dashboardの設定 kube-controller-managerの設定で、ServiceAccountがAPIサーバとの通…

複数マスターを持つ高可用性Kubernetesクラスタを作る

先日、keepalivedを用いてhaproxyを冗長化する記事を上げましたが、この高可用性ロードバランサを用いて複数マスターを持つ高可用性Kubernetestクラスタを作ってみたので、その手順を公開いたします。 環境 アーキテクチャはシンプルで、kubeletやkubectlのA…

今更ながらECSを試してみた

Dockerコンテナはこれまで自前でコンテナホストを建てて実行してましたが、パブリッククラウドで使うとどんな使用感なんだろう?と気になり、今更ですがAmazon ECSを使ってみました。今回は簡単にタスクを1個定義して実行してみただけですが、メモとして記事…

rktをインストールしてコンテナを起動してみた

巷でコンテナランタイムといえばまだまだDockerが有名ですが、他にもrkt、containerd、LXD、cri-oなど、いろいろあります。今回はrktをDebian 9にインストールしてコンテナを上げてみたのでその手順をメモメモです。 sidを登録 $ sudo vi /etc/apt/sources.l…