Kubernetes 1.5安装
admin
2023-03-21 05:01:12
0

Kubernetes从1.3开始引入kubeadm来试图简化其复杂的安装。但kubeadm至今仍不稳定,而且我个人觉得kubeadm反而麻烦,还不如直接用脚本或者其他自动化工具来安装来的利索。关于kubeadm配置master的ha,也有相应的替代方案,比如使用keepalived或者corosync等高可用集群软件。所以在这篇文档中,我还是会使用传统的方式来安装kubernetes集群

  Kubernetes依赖于docker和etcd,docker的网络,在这里直接使用flannel。在这篇文档里,不会对master的高可用做过多的阐述,我们先简单的建立一个基本可用最小化集群。我这里使用的三台CentOS 7.2的服务器,各服务器角色介绍如下:

192.168.1.20 server-20    master节点、node节点、etcd节点
192.168.1.21 server-21    node节点、etcd节
192.168.1.22 server-22    node节点、etcd节点

需要说明的是,这里需要大家自己设定好基本环境,比如关闭selinux,配置时间同步,清空现有的iptables策略,以及配置好epel源等。

1、安装并启动docker

docker的安装比较简单,直接使用yum安装即可:

yum install -y docker
systemctl start docker
systemctl enable docker

 

2、安装etcd

在所有节点上执行如下安装操作:

yum -y install etcd

# 创建etcd data 目录
mkdir -p /opt/etcd/data
chown -R etcd:etcd /opt/etcd/
# 修改配置文件,/etc/etcd/etcd.conf 需要修改如下参数:


ETCD_NAME=server-20
ETCD_DATA_DIR="/opt/etcd/data/server-20.etcd"
ETCD_LISTEN_PEER_URLS="
ETCD_LISTEN_CLIENT_URLS="
ETCD_INITIAL_ADVERTISE_PEER_URLS="
ETCD_INITIAL_CLUSTER="server-20=
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.1.20:2379"

Kubernetes 1.5安装

 

 

# 修改 etcd 启动文件
sed -i 's/\\\"${ETCD_LISTEN_CLIENT_URLS}\\\"/\\\"${ETCD_LISTEN_CLIENT_URLS}\\\" --listen-client-urls=\\\"${ETCD_LISTEN_CLIENT_URLS}\\\" --advertise-client-urls=\\\"${ETCD_ADVERTISE_CLIENT_URLS}\\\" --initial-cluster-token=\\\"${ETCD_INITIAL_CLUSTER_TOKEN}\\\" --initial-cluster=\\\"${ETCD_INITIAL_CLUSTER}\\\" --initial-cluster-state=\\\"${ETCD_INITIAL_CLUSTER_STATE}\\\"/g' /usr/lib/systemd/system/etcd.service

 


 

Kubernetes 1.5安装

# 启动 etcd

systemctl enable etcd

systemctl start etcd

systemctl status etcd


# 查看集群状态

etcdctl cluster-health

Kubernetes 1.5安装


 


 

Kubernetes 1.5安装

# 启动 etcd

systemctl enable etcd

systemctl start etcd

systemctl status etcd


# 查看集群状态

etcdctl cluster-health

Kubernetes 1.5安装


 

3、配置flannel

先在etcd中注册flannel子网:

etcdctl set /coreos.com/network/config '{"network": "172.16.0.0/16"}'

在所有节点安装flannel:

yum install -y flannel

修改flannel配置文件/etc/sysconfig/flanneld如下:

FLANNEL_ETCD="http://192.168.1.20:2379,http://192.168.1.21:2379,http://192.168.1.22:2379"FLANNEL_ETCD_KEY="/coreos.com/network"

启动flannel:

systemctl start flanneld
systemctl enable flanneld

需要说明的是,如果要让docker使用flannel的网络,docker必须要后于flannel启动,所以需要重新启动docker:

systemctl restart docker

 

4、安装kubernetes服务端

我这里使用的是网上别人提供的私有的kubernetes的yum源,如下:

Kubernetes 1.5安装

vim /etc/yum.repos.d/kube.repo

[kube]
name=Mritd Repository
baseurl=https://yum.mritd.me/centos/7/x86_64enabled=1gpgcheck=1gpgkey=https://mritd.b0.upaiyun.com/keys/rpm.public.key

Kubernetes 1.5安装

先通过yumdownloader将所有kubernetes相关的包下载下来,然后再通过本地yum实现安装:

yumdownloader kubernetes-master kubernetes-client kubernetes-nodeyum localinstall -y kubernetes-master kubernetes-client

修改kubernetes master上的配置文件如下:

Kubernetes 1.5安装

vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"KUBE_ALLOW_PRIV="--allow-privileged=false"KUBE_MASTER="--master=http://10.5.10.116:8080"vim /etc/kubernetes/apiserver

KUBE_API_ADDRESS="--address=0.0.0.0"KUBE_API_PORT="--port=8080 --secure-port=443"KUBE_MASTER="--master=http://10.5.10.116:8080"KUBELET_PORT="--kubelet-port=10250"KUBE_ETCD_SERVERS="--etcd-servers=http://10.5.10.116:2379,http://10.5.10.117:2379,http://10.5.10.131:2379"KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

Kubernetes 1.5安装

 

启动kubernetes master:

systemctl start kube-apiserver kube-controller-manager kube-scheduler
systemctl enable kube-apiserver kube-controller-manager kube-scheduler

 

5、安装kubernetes node端

yum install -y kubernetes-node

修改node的配置文件:

Kubernetes 1.5安装

vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"KUBE_LOG_LEVEL="--v=0"KUBE_ALLOW_PRIV="--allow-privileged=false"KUBE_MASTER="--master=http://10.5.10.116:8080"vim /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=0.0.0.0"KUBELET_HOSTNAME="--hostname-override=server-116"KUBELET_API_SERVER="--api-servers=http://10.5.10.116:8080"KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-p_w_picpath=myhub.fdccloud.com/library/pod-infrastructure:latest"

Kubernetes 1.5安装

启动node端:

systemctl start kubelet kube-proxy
systemctl enable kubelet kube-proxy

 

最后通过在kubernetes master上通过kubectl查看各节点是否正常:

[root@server-116 ~]# kubectl get nodes
NAME         STATUS    AGE
server-20   Ready     1d
server-21   Ready     1d
server-22   Ready     1d

 

至此,完成kubernetes 1.5的基本安装  


相关内容

热门资讯

我来教教您“华龙棋牌怎么装挂?... 我来教教您“华龙棋牌怎么装挂?”(果然有透视挂)您好,华龙棋牌这个游戏其实有挂的,确实是有挂的,需要...
终于了解“微壳字牌有没有挂?”... 有 亲,根据资深记者爆料微壳字牌是可以开挂的,确实有挂(咨询软件无需打开...
玩家攻略科普“青鸾究竟有挂吗?... 家人们!今天小编来为大家解答青鸾透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很多人...
最新引进“微乐山东麻将是不是有... 您好:微乐山东麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
今日重磅消息“功夫熊猫牛牛究竟... 您好:功夫熊猫牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
玩家分享攻略“天天爱泰州麻将开... 家人们!今天小编来为大家解答天天爱泰州麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪...
终于了解“开心麻花是不是有挂?... 家人们!今天小编来为大家解答开心麻花透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
今日重磅消息“青鸾牛牛开挂器?... 网上科普关于“青鸾牛牛有没有挂”话题很是火热,小编也是针对青鸾牛牛作*弊开挂的方法以及开挂对应的知识...
重磅消息“微乐陕西三代究竟有挂... 有 亲,根据资深记者爆料微乐陕西三代是可以开挂的,确实有挂(咨询软件无需...
终于明白“春天扑克到底有挂吗?... 家人们!今天小编来为大家解答春天扑克透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...