- Kubernetes 教程
- Kubernetes - 首页
- Kubernetes - 概述
- Kubernetes - 架构
- Kubernetes - 设置
- Kubernetes - 镜像
- Kubernetes - 作业
- Kubernetes - 标签 & 选择器
- Kubernetes - 命名空间
- Kubernetes - 节点
- Kubernetes - 服务
- Kubernetes - Pod
- Kubernetes - 复制控制器
- Kubernetes - 副本集
- Kubernetes - 部署
- Kubernetes - 卷
- Kubernetes - 密钥
- Kubernetes - 网络策略
- 高级 Kubernetes
- Kubernetes - API
- Kubernetes - Kubectl
- Kubernetes - Kubectl 命令
- Kubernetes - 创建应用
- Kubernetes - 应用部署
- Kubernetes - 自动伸缩
- Kubernetes - 仪表盘设置
- Kubernetes - 监控
- Kubernetes 有用资源
- Kubernetes - 快速指南
- Kubernetes - 有用资源
- Kubernetes - 讨论
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 引擎
运行以下命令以安装 Docker 引擎。
步骤 1 - 登录机器。
步骤 2 - 更新软件包索引。
$ sudo apt-get update
步骤 3 - 使用以下命令安装 Docker 引擎。
$ sudo apt-get install docker-engine
步骤 4 - 启动 Docker 守护进程。
sudo service docker start
步骤 5 - 要验证是否已安装 Docker,请使用以下命令。
$ sudo docker run hello-world
安装 etcd 2.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 包。
- 我们在 /opt 中创建一个名为 bin 的目录。
- 将解压后的文件复制到目标位置。
现在我们可以准备构建 Kubernetes 了。我们需要在集群上的所有机器上安装 Kubernetes。
$ git clone https://github.com/GoogleCloudPlatform/kubernetes.git $ cd kubernetes $ make release
上述命令将在 kubernetes 文件夹的根目录下创建一个_output目录。接下来,我们可以将目录解压到我们选择的任何目录 /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 目录下的已复制配置文件。
使用以下命令配置主节点上的 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 控制器管理器
我们需要在/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 工作节点将运行两个服务:kubelet 和 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