https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#v1812
环境说明:
操作系统: Ubuntu16.04 or CentOS7
Kubernetes版本: v1.8
Docker版本: 18.05.0-ce
步骤:
1. 获取Kubernetes二进制包
2. 运行Master组件
3. 运行Node组件
4. 查看集群状态
5. 启动一个示例
| 角色 | IP | 组件 |
| master | 192.168.159.135 | etcd kube-apiserver kube-controller-manager kube-scheduler |
| node01 | 192.168.159.133 | kubelet kube-proxy docker |
| node02 | 192.168.159.134 | kubelet kube-proxy docker |
[root@master ~]# vi /etc/hosts
192.168.159.135 master
192.168.159.133 node1
192.168.159.134 node2
[root@master ~]# mkdir -p /opt/kubernetes/{bin,cfg}
[root@master ~]# cd /opt/kubernetes/bin
[root@master bin]# unzip master.zip
[root@master bin]# chmod +x *
安装 # yum install etcd -y 存储服务
[root@master bin]# grep -v '^#' /etc/etcd/etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_NAME="default"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
# service etcd restart
# netstat -antlp |grep etcd
tcp6 0 0 :::2379 :::* LISTEN 1650/etcd
# vim apiserver.sh
MASTER_ADDRESS=${1:-"192.168.159.135"}
ETCD_SERVERS=${2:-"http://192.168.159.135:2379"}
# vim scheduler.sh
MASTER_ADDRESS=${1:-"192.168.159.135"}
# vim controller-manager.sh
MASTER_ADDRESS=${1:-"192.168.159.135"}
[root@master bin]# ./apiserver.sh
Created symlink from /etc/systemd/system/multi-user.target.wants/kube-apiserver.service to /usr/lib/systemd/system/kube-apiserver.service.
[root@master bin]# ./scheduler.sh
Created symlink from /etc/systemd/system/multi-user.target.wants/kube-scheduler.service to /usr/lib/systemd/system/kube-scheduler.service.
[root@master bin]# ./controller-manager.sh
Created symlink from /etc/systemd/system/multi-user.target.wants/kube-controller-manager.service to /usr/lib/systemd/system/kube-controller-manager.service.
启动服务,并设置开机启动:
systemctl daemon-reload
systemctl enable kube-apiserver
systemctl enable kube-scheduler
systemctl enable kube-controller-manager
systemctl restart kube-apiserver
systemctl restart kube-scheduler
systemctl restart kube-controller-manager
[root@master bin]# echo "export PATH=$PATH:/opt/kubernetes/bin" >> /etc/profile
[root@master bin]# source /etc/profile



运行Node组件:
# mkdir -p /opt/kubernetes/{bin,cfg}
# chmod +x *
[root@node2 bin]# tree . ├── kubelet ├── kubelet.sh ├── kube-proxy ├── node.zip └── proxy.sh
# vim kubelet.sh
MASTER_ADDRESS=${1:-"192.168.159.135"}
NODE_ADDRESS=${2:-"192.168.159.133"}
DNS_SERVER_IP=${3:-"10.10.10.2"}
# vim proxy.sh
MASTER_ADDRESS=${1:-"192.168.159.135"}
NODE_ADDRESS=${2:-"192.168.159.133"}
node2 替换成相应的IP地址
[root@node1 bin]# ./kubelet.sh
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /usr/lib/systemd/system/kubelet.service
启动失败

[root@node1 bin]# swapoff -a

[root@node2 log]# systemctl daemon-reload
[root@node2 log]# systemctl enable kubelet
[root@node2 log]# systemctl restart kubelet

[root@node1 bin]# ./proxy.sh
Created symlink from /etc/systemd/system/multi-user.target.wants/kube-proxy.service to /usr/lib/systemd/system/kube-proxy.service.
systemctl enable kube-proxy
systemctl restart kube-proxy
[root@node1 bin]# journalctl -u kube-proxy

小结
其他节点加入集群与node01方式相同,但需修改kubelet的--address和--hostname-override选项为本机IP。
查看Node节点组件进程状态:

说明组件都在运行。
如果启动失败,请查看启动日志,例如:
#journalctl -u kubelet
设置可执行文件到系统变量,方便使用:
[root@node1 bin]# echo "export PATH=$PATH:/opt/kubernetes/bin" >> /etc/profile
[root@node1 bin]# source /etc/profile
查看集群节点状态:
# kubectl get node
# kubectl get componentstatus

两个节点都加入到了kubernetes集群,就此部署完成。
浙公网安备 33010602011771号