k8s使用经验
为了管理不同节点的docker容器,需要使用编排容器的工具。
这里使用k8s
k8s docker集群搭建
https://blog.csdn.net/real_myth/article/details/78719244
rpm包下载地址 https://pkgs.org/download
--------------------------------------------------------------------------------
只有一台内网测试机,所以这里master和slave就放一起了
---------master
rpm包
etcd-3.2.22-1.el7.x86_64.rpm
kubernetes-1.5.2-0.7.git269f928.el7.x86_64.rpm
kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64.rpm
kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64.rpm
rpm -Uvh *.rpm --nodeps --force全部安装
--------配置master环境变量
$HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
kubectl --server=localhost:8181 get nodes
kubectl -s localhost:8181 get nodes
export KUBERNETES_MASTER=http://localhost:8181
这里是用8181,8080端口经常被占用所以换一个,但是如果kubectl是二进制文件的就把端口设成8080,因为网络原因下载不到安装文件也不清楚修改ctl连接master的端口方式,所以暂时只能这样了
---------------slave
rpm包
flannel-0.7.1-4.el7.x86_64.rpm
kubernetes-1.5.2-0.7.git269f928.el7.x86_64.rpm
kubernetes-master-1.5.2-0.7.git269f928.el7.x86_64.rpm
kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64.rpm
rpm -Uvh *.rpm --nodeps --force全部安装
---------------配置k8s
首先在某个服务器上启动etcd,这里为了简单,etcd只有一个节点,没有设置集群。命令如下
etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://127.0.0.1:2379 &>/dev/null &
sleep 1
curl http://IP地址:2379/version #IP地址 是etcd服务器的ip
etcdctl set /atomic.io/network/config '{"Network":"10.4.0.0/16"}' #设置flanneld的配置项
在需要加入flannel覆盖网络的服务器上启动flannel
flanneld -iface="eth0" -etcd-endpoints="http://IP地址:2379" &>/dev/null &
修改docker0网桥的设置
service docker stop
. "/run/flannel/subnet.env" #导入下面用到的flanneld的环境变量
ifconfig docker0 ${FLANNEL_SUBNET}
docker daemon --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} &> /dev/null &
----完成后确认一下
kubectl get nodes