Kubernetes-セットアップ

Kubernetesをセットアップする前に、仮想データセンター(vDC)をセットアップすることが重要です。これは、ネットワークを介して相互に通信できる一連のマシンと見なすことができます。実践的なアプローチの場合、vDCをに設定できますPROFITBRICKS 物理インフラストラクチャまたはクラウドインフラストラクチャがセットアップされていない場合。

クラウドでのIaaSのセットアップが完了したら、 Master そしてその Node

Note−Ubuntuマシンのセットアップが表示されます。同じことが他のLinuxマシンでも設定できます。

前提条件

Installing Docker−KubernetesのすべてのインスタンスにDockerが必要です。Dockerをインストールする手順は次のとおりです。

Step 1 −rootユーザーアカウントでマシンにログオンします。

Step 2−パッケージ情報を更新します。aptパッケージが機能していることを確認してください。

Step 3 −以下のコマンドを実行します。

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates

Step 4 −新しいGPGキーを追加します。

$ sudo apt-key adv \
   --keyserver hkp://ha.pool.sks-keyservers.net:80 \
   --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
$ echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee
/etc/apt/sources.list.d/docker.list

Step 5 −APIパッケージイメージを更新します。

$ sudo apt-get update

上記のすべてのタスクが完了したら、Dockerエンジンの実際のインストールから開始できます。ただし、この前に、使用しているカーネルのバージョンが正しいことを確認する必要があります。

DockerEngineをインストールする

次のコマンドを実行して、Dockerエンジンをインストールします。

Step 1 −マシンにログオンします。

Step 2 −パッケージインデックスを更新します。

$ sudo apt-get update

Step 3 −次のコマンドを使用してDockerエンジンをインストールします。

$ sudo apt-get install docker-engine

Step 4 −Dockerデーモンを起動します。

$ sudo apt-get install docker-engine

Step 5 − Dockerがインストールされている場合は、次のコマンドを使用します。

$ sudo docker run hello-world

etcd2.0をインストールします

これはKubernetesマスターマシンにインストールする必要があります。インストールするには、次のコマンドを実行します。

$ curl -L https://github.com/coreos/etcd/releases/download/v2.0.0/etcd
-v2.0.0-linux-amd64.tar.gz -o etcd-v2.0.0-linux-amd64.tar.gz ->1
$ tar xzvf etcd-v2.0.0-linux-amd64.tar.gz ------>2
$ cd etcd-v2.0.0-linux-amd64 ------------>3
$ mkdir /opt/bin ------------->4
$ cp etcd* /opt/bin ----------->5

上記の一連のコマンドで-

  • まず、ダウンロードします etcd。これを指定した名前で保存します。
  • 次に、tarパッケージのtarを解除する必要があります。
  • dirを作成します。/ optという名前のビン内。
  • 抽出したファイルを目的の場所にコピーします。

これで、Kubernetesをビルドする準備が整いました。クラスター上のすべてのマシンにKubernetesをインストールする必要があります。

$ git clone https://github.com/GoogleCloudPlatform/kubernetes.git
$ cd kubernetes
$ make release

上記のコマンドは、 _outputkubernetesフォルダーのルートにあるdir。次に、ディレクトリを選択した任意のディレクトリ/ opt / binなどに抽出できます。

次に、Kubernetesマスターとノードのセットアップから実際に開始する必要があるネットワーキングの部分があります。これを行うために、ノードマシンで実行できるホストファイルにエントリを作成します。

$ echo "<IP address of master machine> kube-master
< IP address of Node Machine>" >> /etc/hosts

上記のコマンドの出力は次のとおりです。

ここで、Kubernetesマスターの実際の構成から始めます。

まず、すべての構成ファイルを正しい場所にコピーし始めます。

$ cp <Current dir. location>/kube-apiserver /opt/bin/
$ cp <Current dir. location>/kube-controller-manager /opt/bin/
$ cp <Current dir. location>/kube-kube-scheduler /opt/bin/
$ cp <Current dir. location>/kubecfg /opt/bin/
$ cp <Current dir. location>/kubectl /opt/bin/
$ cp <Current dir. location>/kubernetes /opt/bin/

上記のコマンドは、すべての構成ファイルを必要な場所にコピーします。ここで、Kubernetesフォルダーを作成したのと同じディレクトリに戻ります。

$ cp kubernetes/cluster/ubuntu/init_conf/kube-apiserver.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-controller-manager.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-kube-scheduler.conf /etc/init/

$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-apiserver /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-controller-manager /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-kube-scheduler /etc/init.d/

$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/

次のステップは、/ etcの下にコピーされた構成ファイルを更新することです。dir。

次のコマンドを使用して、マスターでetcdを構成します。

$ ETCD_OPTS = "-listen-client-urls = http://kube-master:4001"

kube-apiserverを構成します

マスターでこれを行うには、編集する必要があります /etc/default/kube-apiserver 以前にコピーしたファイル。

$ KUBE_APISERVER_OPTS = "--address = 0.0.0.0 \
--port = 8080 \
--etcd_servers = <The path that is configured in ETCD_OPTS> \
--portal_net = 11.1.1.0/24 \
--allow_privileged = false \
--kubelet_port = < Port you want to configure> \
--v = 0"

kube ControllerManagerを構成します

次のコンテンツをに追加する必要があります /etc/default/kube-controller-manager

$ KUBE_CONTROLLER_MANAGER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--machines = kube-minion \ -----> #this is the kubernatics node
--v = 0

次に、対応するファイルでkubeスケジューラーを構成します。

$ KUBE_SCHEDULER_OPTS = "--address = 0.0.0.0 \
--master = 127.0.0.1:8080 \
--v = 0"

上記のすべてのタスクが完了したら、Kubernetesマスターを起動して先に進むことができます。これを行うために、Dockerを再起動します。

$ service docker restart

Kubernetesノードの構成

Kubernetesノードは2つのサービスを実行します kubelet and the kube-proxy。先に進む前に、ダウンロードしたバイナリを、kubernetesノードを設定する必要なフォルダにコピーする必要があります。

kubernetesマスターで行ったのと同じ方法でファイルをコピーします。kubeletとkube-proxyのみを実行するため、これらを構成します。

$ cp <Path of the extracted file>/kubelet /opt/bin/
$ cp <Path of the extracted file>/kube-proxy /opt/bin/
$ cp <Path of the extracted file>/kubecfg /opt/bin/
$ cp <Path of the extracted file>/kubectl /opt/bin/
$ cp <Path of the extracted file>/kubernetes /opt/bin/

次に、コンテンツを適切なディレクトリにコピーします。

$ cp kubernetes/cluster/ubuntu/init_conf/kubelet.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/init_conf/kube-proxy.conf /etc/init/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kubelet /etc/init.d/
$ cp kubernetes/cluster/ubuntu/initd_scripts/kube-proxy /etc/init.d/
$ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
$ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/

を構成します kubelet そして kube-proxy conf ファイル。

を構成します /etc/init/kubelet.conf

$ KUBELET_OPTS = "--address = 0.0.0.0 \
--port = 10250 \
--hostname_override = kube-minion \
--etcd_servers = http://kube-master:4001 \
--enable_server = true
--v = 0"
/

kube-proxyの場合、次のコマンドを使用して構成します。

$ KUBE_PROXY_OPTS = "--etcd_servers = http://kube-master:4001 \
--v = 0"
/etc/init/kube-proxy.conf

最後に、Dockerサービスを再起動します。

$ service docker restart

これで構成は完了です。以下のコマンドを実行して確認できます。

$ /opt/bin/kubectl get minions