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集群,就此部署完成。

 

 

posted on 2018-05-14 00:37  彼de潘  阅读(130)  评论(0)    收藏  举报