ビビリフクロウの足跡

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

Kubernetes

kubeadmを用いたKubernetes HAクラスタ on AWS

AWS上でkubeadmを使い、Kubernetes HAクラスタを作ってみたときのメモです。 構成 OS: CentOS7 サーバ群 Master + etcd 3台(aws-k8s-master[01-03]) Node 3台(aws-k8s-node[01-03]) 前提 作業ユーザはroot 手順 Dockerのインストール(aws-k8s-master[01-03]…

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

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

KubernetesでHorizontal Pod Autoscalerを使えるようにする

KubernetesにおけるHorizontal Pod Autoscaler(HPA)とは、Podの過負荷時(CPU使用量増、メモリ使用量増など)においてPodをオートスケーリングするリソースです。DeploymentやReplicaSetに紐付けて使います。 HPAを使ってオートスケーリングを実現するには、Po…

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…