在谷歌云平台上的Rancher Kubernetes ~安装与架构~

我想使用Rancher的kubernetes模板来轻松构建k8s环境。

Rancher需要Rancher Server来管理主机和Rancher Agent来管理被管理的主机,由于Server和Agent都是Docker镜像,所以只需要执行docker run命令即可使用。

我想构建Rancher Server和Agent环境,并构建k8s环境,思考Rancher的k8s架构。

谷歌云平台上的牧场服务器和代理

这次我们将使用Google Cloud Platform来创建一个包含一个Rancher Server和三个Agent主机的环境。

01.png

其他云服务供应商,也可以选择在本地环境中使用。

在 Compute Engine 上创建以下 4 个实例。

項目入力概要ゾーンasia-southeast1-aマシンタイプvCPUx1ブートディスクUbuntu 14.04 LTSファイアウォールHTTP トラフィックを許可する、HTTPS トラフィックを許可するの両方をチェックします。

在GCP中,默认情况下会设置防火墙,这导致容器之间无法进行通信,因此需要更改设置。

GCPのダッシュボードで、「ネットワーキング」-「ファイアウォール」を選択して、ファイアウォールルールを作成します。

image.png

名前は任意名、ソースIPの範囲は0.0.0.0/0、プロトコルとポートは全て許可とします。
今回はお試しということで、全許可にしています。
最後に「作成」ボタンをクリックします。

構築Rancher Server.

设置root密码

GCPではrootのパスワードがデフォルトでは設定されていないので、まずはrootのパスワードを設定します。
4インスタンスに任意のパスワードを設定します。

$ sudo passwd root

安装Docker

Dockerをインストールします。Rancherとk8s環境ではDockerのバージョンがサポートしているものとそうでないものがあるので、Support Versionで確認します。

这次我们将按照Rancher Labs官方Online Meetup中的步骤来安装1.12.6版本。
将Docker安装在4个实例中。

$ curl https://releases.rancher.com/install-docker/1.12.6.sh | sh
.
.
.
Client:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:26:30 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:26:30 2017
 OS/Arch:      linux/amd64
.
.
.
Remember that you will have to log out and back in for this to take effect!

安装Rancher Server。

4インスタンスうちの1台に最新版のRancher Serverのコンテナをインストールします。
2017年6月現在Rancher Serverはv1.6.2となります。

$ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server

使用浏览器通过端口8080访问目标实例的外部IP。

http://外部IPアドレス:8080/

screencapture-35-186-144-37-8080-env-1a5-apps-stacks-1497185148604.png

点击「明白了」。

从底部菜单中选择语言选项,选择“日本语”。

image.png

选择上方菜单中的“管理者”-“访问控制”。

image.png

点击这里。

rancher03.png

5.GitHubのログイン画面が表示されます。ログインします。
※GitHubのアカウントを持っていない場合は作成しましょう。

rancher04.png
rancher05.png

7. 输入红框处并点击“注册应用程序”按钮。

rancher06.png

8.「Client ID」および「Client Secret」が払い出されます。

rancher07.png

请在GitHub上输入提供的“客户端ID”和“客户端秘钥”,然后点击“保存”。

image.png

10. 点击「使用GitHub账号进行认证」按钮。

image.png

11. Rancher的界面会切换,并显示“GitHub已启用”的信息。

image.png

创建k8s环境模板

选择顶部菜单中的“环境管理”选项。

image.png

2. 请点击“添加环境”。

image.png

将任意的名称输入到「名称」栏中。在这里我们将使用「k8s」作为例子。在「环境模板」中选择 Kubernetes 的图标。点击「创建」。

image.png

4. 从顶部菜单中选择”k8s”。

image.png

点击”添加主机”。

image.png

Rancher Agent的安装

将赤框内的命令复制,然后粘贴到剩下的三台计算机的其中一台上,最后点击”关闭”按钮。

image.png
$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.2 http://RancherServer外部IP:8080/v1/scripts/053345DA35CBEE8144B6:1483142400000:2cehkwGGXulEgYZV0uD3NIRIRk

从上方菜单栏的「基础设施」中选择「主机」。

image.png

Rancher Server和Rancher Agent互相协作,大约在5分钟内完成k8s环境的构建。

image.png

当将1的命令复制并粘贴到剩下的两个实例中运行时,会添加两台主机。

image.png

以下是构成:
以下为构成:
以下是组成:
以下为组成:

02.png

通过这个步骤,k8s的环境设置已经完成。

Kubernetes 控制面板

选择上部菜单的 “KUBERNETES” – “仪表盘” 选项。

image.png

点击「Kubernetes UI」。

image.png

新打开一个浏览器标签,可以使用Kubernetes仪表板。

screencapture-35-186-144-37-8080-r-projects-1a7-kubernetes-dashboard-9090-1497192117508.png

兰彻的k8s架构

在Rancher的k8s环境中,每个主机将自动构建以下容器配置。在HOST1中,kubernetes-1被认为是API服务器。kubernetes-controller-manager-1、kubernetes-etcd-1和kubernetes-scheduler-1是主节点所需的主要组件容器。

请把以下内容用中文进行释义,只需提供一种选项:

主持人1

対象ホストスタック名コンテナ名HOST1kuberneteskubernetes-addon-starter-1HOST1kuberneteskubernetes-controller-manager-1HOST1kuberneteskubernetes-etcd-1HOST1kuberneteskubernetes-kubectld-1HOST1kuberneteskubernetes-1HOST1kuberneteskubernetes-kubernetes-kube-hostname-updater-1(sidekicks)HOST1kuberneteskubernetes-proxy-1HOST1kuberneteskubernetes-rancher-ingress-controller-1HOST1kuberneteskubernetes-rancher-kubernetes-agent-1HOST1kuberneteskubernetes-scheduler-1
対象ホストスタック名コンテナ名HOST1kube-systemmonitoring-grafanaHOST1kube-systemkubernetes-dashboardHOST1kube-systemtiller-deployHOST1kube-systemheapsterHOST1kube-systemmonitoring-influxdbHOST1kube-systemkube-dns

主播2

対象ホストスタック名コンテナ名HOST2kuberneteskubernetes-proxy-2HOST2kuberneteskubernetes-kubelet-2HOST2kuberneteskubernetes-etcd-2

主持人3

対象ホストスタック名コンテナ名HOST3kuberneteskubernetes-proxy-3HOST3kuberneteskubernetes-kubelet-3HOST3kuberneteskubernetes-etcd-3

每次添加主机时,似乎会创建与HOST2、HOST3相同的配置。

我打算在不断验证的同时更新各个Rancher k8s组件容器的含义以及创建Pod的结果。

广告
将在 10 秒后关闭
bannerAds