Kubernetes + flannel + CentOS7 4台でクラスタ構築

このエントリはKubernetesアドベントカレンダー2014の9日目です。

いよいよ小規模なKubetnetesクラスタを構築してみます。

構成

プロダクトバージョン

  • VirtualBox
  • CentOS7
  • etcd 0.4.6
  • flannel 0.1.0
  • Kubernetes 0.5.3

ネットワーク

  • eth0(NAT): 10.0.2.0/24
  • eth1(Hostonly): 172.16.0.0/16
  • flannel全体: 172.17.0.0/16
  • Kubernetes: 172.18.0.0/16

サーバ

  • Master 1台: Kubernetes(kube-apiserver, kube-controller-manager, kube-scheduler, kubelet), docker, etcd, flannel
    • master01: 172.16.1.1
  • Minion 3台: Kubernetes(kubelet, kube-proxy), docker, etcd, flannel
    • minion01: 172.16.2.1
    • minion02: 172.16.2.2
    • minion03: 172.16.2.3

構築

段取りとしては、

[Read More]

Kubernetesの分散環境を支えるetcdとflannel

このエントリはKubernetesアドベントカレンダー2014の7日目です。

昨日のエントリでわかったとおり、 ホストをまたいでコンテナ間接続するためには

1. 各ホストが重複しないアドレス帯をdocker0に割り当てる
2. 起動したコンテナのIPアドレスを知る
3. 各ホスト(もしくは上位ルータ)で、他ホストがどのネットワークアドレス帯をdocker0に割り当てているかを把握しルーティングする

という3つの面倒事があります。

このうち1.と3.を解決するのが flannel です。2.はKubernetesがします。

今日はflannelと、flannelを(だけでなくKubernetesも)動かすために必要なetcdについて見ていきます。

[Read More]

Kubernetesなしでdockerを複数台で動かしてみる

このエントリはKubernetesアドベントカレンダー2014の6日目です。

今日はKubernetesの効果を理解するために、まずはKubernetesなしで構成を組んでみます。 目指す構成としてはKubernetesのドキュメントに出てくる、GCEを使ったAdvanced Routingの構成とよく似た形です。

kubernetes/networking.md at v0.5.3 · GoogleCloudPlatform/kubernetes

[Read More]

「Webエンジニアが知っておきたいインフラの基本」という書籍が発売されます!

突然ですが Webエンジニアが知っておきたいインフラの基本 インフラの設計から構成、監視、チューニングまで という本を書きました。

2014/12/27に発売予定です。ぜひ購入してください!そして年末年始に熟読してください!ぜひ!
※2015/2/1頃にKindle版も出ました!

1〜4章は特にインフラに触れたことがない方向けに基本的な内容を、5〜8章はそれだけでなくインフラ初級〜中級のISUCON決勝に残れなかったくらいの方まで広く読んでいただきたい内容になっています。

私はWebシステムの監視・障害対応という職業柄、再現性の高い方法論を言語化してつくるようにしてまして、本書にはそれをたっぷり詰め込みました。 ISUCONやtuningathonでコンスタントに短時間でそれなりの成績を出せてきたのはこの本に書いたような方法論が背景にあるんです。 この本に書いてあることをきちんと実践できれば決勝進出はできます。間違いない。

いままでインフラにあまり触れていないWebアプリケーションエンジニアの方、Webシステムのインフラにこれから触れる全ての方に読んでいただきたいです。もちろん弊社の若手にも。

[Read More]

Kubernetesを1台のCentOS7で動かす

このエントリはKubernetesアドベントカレンダー2014の5日目です。

いよいよKubernetesを動かします。

今日のところはまずは1台で動かします。 VirtualBox上で起動したCentOS7にインストールして動かしてみます。 2CPU、メモリ512MBで動かしましたが動作確認だけなら特に問題ありませんでした。

Kubernetes v0.5.3の hack/local-〜.sh を使って起動します。 いろいろな起動方法がありますが、私にとってはこれが一番見通しがよかったのです。

[Read More]

nginxのソースの歴史

nginx

画像は本家から拝借。

このエントリはnginxアドベントカレンダーの3日目です。 なんかギリギリまで枠が空いたままで忍びないということもあり小ネタを共有。

最近は1ヶ月おきくらいに順調にマイナーverupが続いてましたね。 つい先日1.7.8もリリースされたことだしnginxのソースの歴史をふりかえってみようということで、メジャーバージョンアップごとのソースコード差分行数を見てみました。

[Read More]
Linux  nginx