Docker Amazing Archlinux tools

ks8集群搭建

2019-02-16  本文已影响8人  张都尉

.准备前工作

我们这里采用三台主机 系统CentOS 7.6 源更换为国内阿里源(这样下载速度更快)
备份源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

运行

yum makecache

备份源:
server1:10.0.1.41
server2:10.0.1.42
server3:10.0.1.43

关闭系统运行的防火墙及selinux
1.如果系统开启了防火墙则按如下步骤关闭防火墙(所有机器)

systemctl stop firewalld
systemctl disable firewalld
2.关闭selinux
1.# setenforce 0
2.#sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux

二、MASTER安装配置

  1. 在10.0.1.41安装并配置Kubernetes master(yum 方式)

yum -y install etcd kubernetes

配置etcd #vim /etc/etcd/etcd.conf

ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"

配置kubernetes
vim /etc/kubernetes/apiserver

KUBE_API_ADDRESS="--address=0.0.0.0"KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet_port=10250"
KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=""

三、启动启动etcd, kube-apiserver, kube-controller-manager and kube-scheduler服务

for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done

如图所示


正常启动如上服务应用

四、设置etcd网络

# etcdctl mk /atomic.io/network/config '{"Network":"10.1.0.0/16"}'

注意:启动ETCD,设置键值:etcdctl set /atomic.io/network/config '{ "Network": "10.1.0.0/16" }' 此处最好不要掩到24位,不然在其他机器上启动flanneld的时候有可能分配不到子网,导致服务失败。

cluster-health检查

 etcdctl -C http://10.0.1.41:2379 cluster-health
 member 8e9e05c52164694d is healthy: got healthy result from http://10.0.1.41:2379
 cluster is healthy

配置etcd中关于flannel的key

mk /atomic.io/network/config '{"Network":"10.1.0.0/16"}'

flanneld启动:

systemctl start flanneld.service
systemctl enable flanneld.service

五、master配置完成
运行kubectl get nodes 可以查看有多少任务在运行及其状态。因这里我们还没未开始安装配置,所以运行结果为空。


运行结果为空

六、docker安装
安装命令:yum install docker -y

开启docker服务:service docker start
设置docker开启自启动:chkconfig docker on

node节点服安装

一、安装kubernetes flannel

# yum -y install flannel kubernetes

配置kubernetes连接到服务器IP

#vim /etc/kubernetes/config
KUBE_MASTER="--master=http://10.0.1.41:8080"
KUBE_ETCD_SERVERS="--etcd_servers=http://10.0.1.41:2379"
配置kubernetes连接到服务端IP

配置kubernetes

#vim /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
# change the hostname to this host’s IP address KUBELET_HOSTNAME="--hostname_override=$LOCALIP"
KUBELET_API_SERVER="--api_servers=http://10.0.1.41:8080"
KUBELET_ARGS=""
配置kubernetes

启动

for SERVICES in kube-proxy kubelet docker flanneld; do
    systemctl restart $SERVICES
    systemctl enable $SERVICES
    systemctl status $SERVICES
done

启动kube服务

systemctl start kubelet.service
systemctl start kube-proxy.service

设置k8s组件开机自启

systemctl enable kubelet.service
systemctl enable kube-proxy.service

登陆主节点master验证

$ kubectl get nodes
NAME        STATUS     AGE
10.0.1.42   Ready      38m
10.0.1.43   Ready      20m

查看端点信息:
kubectl get endpoints

查看端点信息
kubectl cluster-info
查看集群信息

测试通过节点信息完整 就可以准备接下来的步骤了


k8s中适配的docker版本
上一篇下一篇

猜你喜欢

热点阅读