ビビリフクロウの足跡

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

kubeadmを用いたKubernetes HAクラスタ on AWS(v.1.11対応版)

前の記事を公開してすぐにv.1.11が出てしまい、構築方法が変わったので、泣きながら再検証... 構成 OS: CentOS7 サーバ群 Master + etcd 3台(aws-k8s-master[01-03]) Node 3台(aws-k8s-node[01-03]) 前提 作業ユーザはroot 手順 NLBの作成(AWS ManagementCon…

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]…

gVisorを試してみた

Googleが開発したgVisorを試して、簡単に性能調査してみましたので、メモとして残しておきます。 環境 OS: Ubuntu 16.04 LTS vCPU: 2 (Core i3) Mem: 4G gVisorのインストール手順 Dockerのインストール sudo apt-get update sudo apt-get install -y \ apt-…

Rancher 2.0で複数のKubernetes環境を管理してみる

2018年4月末にコンテナ管理プラットフォームであるRancherのバージョン2.0がGA(General Availability)となりました。対応するコンテナオーケストレーションツールをKubernetesに絞り、オンプレ/クラウド問わずKubernetesクラスタをマネジメントするOSSに昇華…

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…

haproxyをkeepalivedで冗長化して高可用性ロードバランサを構築する

ロードバランサとして活用できるhaproxyですが、ロードバランサ冗長性確保用デーモンであるkeepalivedを使って冗長化してみたので、その手法をメモしておきます。 なんでいきなりhaproxy + keepalivedかというと、Kubernetesの冗長化においてkubeletやkubect…

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

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

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

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

oVirt用のクラウドイメージテンプレートの作り方

またまたoVirtネタです。oVirtではcloud-initを使ってテンプレートからVMをプロビジョニングし、ネットワークなどの初期設定を行うことができます。これを実現するにはプロビジョニング元のテンプレートにcloud-initをインストールする必要があるのですが、…

oVirt環境のVMを管理するplaybookをさらす

久しぶりの投稿ですが、生きてますw 投稿しよう!と思いきれる真新しい発見なく過ごしていたので、放置気味でした…(汗 けど、細々としたことでもこまめにナレッジとして残しておいたほうが後々得すると思うので、少し更新頻度を上げたいと思います。 という…

ナレッジWiki公開してます

本ブログの目的は勉強&備忘メモをとるためです。体系的なナレッジの集約にはブログは適さないと思っています。その目的にブログは雑音が入りすぎてしまう。 というわけで、体系的なナレッジを蓄積する場としてWikiも書いて公開してます。まだ始めて間もない…

ブログ新規開設しました!

はじめまして。ビビリフクロウと申します。とあるSIerでインフラSEをやっています。 本ブログは私が日々、特にIT関連で勉強になったことや忘れがちなことをメモしておく場として開設されました。 以前の自分はインターネットから多くの情報、サービス、ソフ…