Kubernetes - 设置

在设置Kubernetes之前设置虚拟数据中心(vDC)非常重要.这可以被视为一组机器,它们可以通过网络相互通信.对于实际操作方法,如果您没有设置物理或云基础架构,则可以在 PROFITBRICKS 上设置vDC.

任何IaaS设置完成后云完成后,您需要配置节点.

注意 : 显示Ubuntu机器的设置.同样可以在其他Linux机器上设置.

先决条件

安装Docker :  Kubernetes的所有实例都需要Docker.以下是安装Docker的步骤.

步骤1 : 使用root用户帐户登录计算机.

步骤2 : 更新包信息.确保apt软件包正常工作.

第3步 : 运行以下命令.

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

第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

第5步 : 更新API包图像.

 
 $ sudo apt-get update

完成上述所有任务后,您可以从实际安装Docker引擎开始.但是,在此之前,您需要验证您使用的内核版本是否正确.

安装Docker Engine

运行以下命令安装Docker引擎.

第1步 : 登录到机器.

步骤2 : 更新包索引.

 
 $ sudo apt-get update

第3步 : 使用以下命令安装Docker Engine.

 
 $ sudo apt-get install docker-engine

第4步 : 启动Docker守护程序.

 
 $ sudo apt-get install docker-engine

第5步 : 如果安装了Docker,请使用以下命令.

 
 $ sudo docker run hello-world

安装etcd 2.0

这需要安装在Kubernetes Master Machine上.要安装它,请运行以下命令.

 
 $ curl -L https://github.com/coreos/etcd/releases/下载/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包.

  • 我们制作一个目录.在/opt命名bin中.

  • 将提取的文件复制到目标位置.

现在我们准备好了建立Kubernetes.我们需要在群集中的所有计算机上安装Kubernetes.

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

以上命令将在根目录中创建 _output 目录kubernetes文件夹.接下来,我们可以将目录解压缩到我们选择的/opt/bin等目录中.

接下来,我们需要实际开始设置Kubernetes的网络部分主人和节点.为了做到这一点,我们将在主机文件中创建一个可以在节点机器上完成的条目.

 
 $ echo"<主机的IP地址> kube-master 
<节点机的IP地址>" >> /etc/hosts

以下是上述命令的输出.

输出

现在,我们将从Kubernetes Master的实际配置开始.

首先,我们将开始将所有配置文件复制到正确的位置.

 
 $ cp<当前目录. location>/kube-apiserver/opt/bin/
 $ cp<当前目录. location>/kube-controller-manager/opt/bin/
 $ cp<当前目录. location>/kube-kube-scheduler/opt/bin/
 $ cp<当前目录. location>/kubecfg/opt/bin/
 $ cp<当前目录. location>/kubectl/opt/bin/
 $ cp<当前目录. 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下复制的配置文件.使用以下命令在master上配置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 =<在ETCD_OPTS中配置的路径> \ 
  - portal_net = 11.1.1.0/24 \ 
 --allow_privileged = false \ 
 --kubelet_port =<您要配置的端口> \ 
 --v = 0"

配置kube控制器管理器

我们需要在/etc/default/kube-中添加以下内容controller-manager .

 
 $ KUBE_CONTROLLER_MANAGER_OPTS =" -  address = 0.0.0.0 \ 
 --master = 127.0.0.1 :8080 \ 
 --machines = kube-minion \ -----> #this是kubernatics节点
 --v = 0

接下来,在相应的文件中配置kube调度程序.

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

完成上述所有任务后,我们可以通过培养Kubernetes Master来继续.为此,我们将重新启动Docker.

 
 $ service docker restart

Kubernetes节点配置

Kubernetes节点将运行 kubelet和kube-proxy 两个服务.在继续之前,我们需要将我们下载的二进制文件复制到我们想要配置kubernetes节点的所需文件夹中.

使用相同的方法复制我们为kubernetes master执行的文件.由于它只运行kubelet和kube-proxy,我们将对它们进行配置.

 
 $ cp<提取文件的路径>/kubelet/opt/bin/
 $ cp<提取文件的路径>/kube-proxy/opt/bin/
 $ cp<提取文件的路径>/kubecfg/opt/bin/
 $ cp<提取文件的路径>/kubectl/opt/bin/
 $ cp<提取文件的路径>/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 =" -  etc_servers = http://kube-master:4001 \ 
 --v = 0"
/etc/init/kube-proxy.conf

最后,我们将重启Docker服务.

 
 $ service docker restart

现在我们完成了配置.您可以通过运行以下命令来检查.

 
 $/opt/bin/kubectl get minions