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的基本安装  


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...