kubesprayを使用してkubernetes clusterを構築する


1 min read
kubesprayを使用してkubernetes clusterを構築する

注意: 情報が古くなっています。新しい情報にあわせて記事を書いたので、そちらをご覧ください。

kubesprayはproduction readyなkubernetes(k8s)クラスタを構成できるツールです。
Ansibleをベースに作られているため、任意のサーバでk8sクラスタを構成できます。

今回は、3台のVMを用意してクラスタを構成してみます[1]

検証環境

今回用意したVMは以下の構成です。

  • 2Core
  • 8GB RAM
  • 80GB HDD
  • CentOS 7

IPアドレスは以下の様になっているものとします。

  • 192.168.1.11
  • 192.168.1.12
  • 192.168.1.13

また、kubesprayを実行するローカルの環境はmacOS Sierraです。
各ホストのrootユーザに対してSSH鍵は配置済み、firewalldは無効化されているとします。

requirements

実行する環境に、Ansibleが必要なため、pipでインストールします。[2][3]

$ pip install ansible

install kubespray-cli

kubespray自体もpipでインストールします。

$ pip install kubespray

prepare

設定ファイルを生成するため、kubespray prepareを使用します。

$ kubespray prepare --nodes node1[ansible_ssh_host=192.168.1.11] node2[ansible_ssh_host=192.168.1.12] node3[ansible_ssh_host=192.168.1.13]

deploy

以下のコマンドでk8sクラスタをデプロイします。

$ kubespray deploy -u root -n flannel

今回はflannelネットワークプラグインで構成しました。
kubesprayは、次のネットワークプラグインを使用してクラスタを構成することができます。

あとは構成が終了するのを待つだけです。


  1. vmware vSphere上に作成しました ↩︎

  2. 最初、Python 3でkubesprayを実行しようとしたところ、raw_inputを使っているようで、上手くいきませんでした。Python 2で実行します ↩︎

  3. 私は一応venvを挟みました ↩︎

  4. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/flannel.md ↩︎

  5. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/calico.md ↩︎

  6. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/contiv.md ↩︎

  7. https://github.com/kubernetes-incubator/kubespray/blob/master/docs/weave.md ↩︎


GitLab Docker: initial runners registration token
Previous article

GitLab Docker: initial runners registration token

GitLabはRuby on Railsで書かれたオープンソースのGitサーバアプリケーションです。おそらく、オープンソースのGitサーバとしては最もよく使われているものではないでしょうか。 GitLabは他のOSS Gitサーバアプリケーションと比べて、非常に多くの機能を持っています。 GitLab-CIもその一つで、GitLab上で自動テストを回すことができます。 この、GitLab-CIを使用するにはrunnerと呼ばれる、CI環境用のホストを追加する必要があります。 このとき、Registration Tokenという登録用トークンが必要なのですが、REST APIで取得することができません。そのため、Dockerを用いた自動構築時に少々困りました。 解法 GitLab omnibusの設定項目でRegistration Tokenの初期値を設定することができます。 docker

Parcel + Riot.js
Next article

Parcel + Riot.js

この記事は Riot.js Advent Calendar 2017 13日目の記事です。 昨日は@suppleさんによるRiot+ElectronでMarkdownエディタを作るでした。 tl;dr ParcelというJavaScriptのモジュールバンドラを触ってみた webpackなどと比べて設定ファイルなどもいらずとても簡単 ホットリロードな開発サーバを簡単に実行できる Riotと組み合わせるのもそれほど難しくない Parcel + Riot.js ParcelというJavaScriptのモジュールバンドラが話題なのでさわってみました。 国内で話題になっている元の記事は「webpack時代の終わりとparcel時代のはじまり」。 Reactとの組み合わせで記事を書かれています。 個人的にはRiot.jsが好みなので、


GO TOP

🎉 You've successfully subscribed to something tech.!
OK