Kubernetes实战[1]: 基于kubernetes构建Docker集群环境实战
kubernetes是google公司基于docker所做的一个分布式集群,有以下主件组成etcd: 高可用存储共享配置和服务发现,作为与minion机器上的flannel配套使用,作用是使每台 minion上运行的docker拥有不同的ip段,最终目的是使不同minion上正在运行的docker containner都有一个与别的任意一个containner(别的minion上运行的docker containner)不一样的IP地址。
flannel: 网络结构支持
kube-apiserver: 不论通过kubectl还是使用remote api 直接控制,都要经过apiserver
kube-controller-manager: 对replication controller, endpoints controller, namespace controller, and serviceaccounts controller的循环控制,与kube-apiserver交互,保证这些controller工作
kube-scheduler: Kubernetes scheduler的作用就是根据特定的调度算法将pod调度到指定的工作节点(minion)上,这一过程也叫绑定(bind)
kubelet: Kubelet运行在Kubernetes Minion Node上. 它是container agent的逻辑继任者
kube-proxy: kube-proxy是kubernetes 里运行在minion节点上的一个组件, 它起的作用是一个服务代理的角色
图为GIT+Jenkins+Kubernetes+Docker+Etcd+confd+Nginx+Glusterfs架构:
http://s1.运维网.com/images/20180531/1527733313489584.png
1、环境介绍及准备:
1.1 物理机操作系统
物理机操作系统采用Centos7.4 64位,细节如下。
# uname -a
Linux etcd 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)1.2 主机信息
本文准备了五台机器用于部署k8s的运行环境(可把Master、etcd、registry放在同一台上),细节如下:
| 节点 | 主机名 | IP |
| Etcd | etcd | 10.0.0.10 |
| Kubernetes Master| k8s-master | 10.0.0.11 |
| Kubernetes Node 1| k8s-node-1 | 10.0.0.12 |
| Kubernetes Node 2| k8s-node-2 | 10.0.0.13 |
| Kubernetes Node 3| k8s-node-3 | 10.0.0.14 |
设置五台机器的主机名:
Etcd上执行:
#hostnamectl --static set-hostnameetcd Master上执行:
#hostnamectl --static set-hostnamek8s-master Node1上执行:
#hostnamectl --static set-hostnamek8s-node-1 Node2上执行:
# hostnamectl --static set-hostnamek8s-node-2 Node3上执行:
# hostnamectl --static set-hostnamek8s-node-3 在五台机器上设置hosts,均执行如下命令:
echo '10.0.0.10 etcd #添加hosts解析
10.0.0.11 k8s-master
10.0.0.12 k8s-node-1
10.0.0.13 k8s-node-2
10.0.0.14 k8s-node-3
10.0.0.10 kube-registry' >> /etc/hosts1.3 关闭五台机器上的防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service 安装NTP并启动
# yum -y install ntp
# systemctl start ntpd
# systemctl enable ntpd2、部署etcd
k8s运行依赖etcd,需要先部署etcd,本文采用yum方式安装:
# yum install etcd -yyum安装的etcd默认配置文件在/etc/etcd/etcd.conf。编辑配置文件,更改以下带颜色部分信息:
#
ETCD_NAME=master #
页:
[1]