千家信息网

Kubernetes 1.5安装

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Kubernetes从1.3开始引入kubeadm来试图简化其复杂的安装。但kubeadm至今仍不稳定,而且我个人觉得kubeadm反而麻烦,还不如直接用脚本或者其他自动化工具来安装来的利索。关于ku
千家信息网最后更新 2026年11月01日Kubernetes 1.5安装

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 dockersystemctl start dockersystemctl enable docker

2、安装etcd

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

yum -y install etcd# 创建etcd data 目录mkdir -p /opt/etcd/datachown -R etcd:etcd /opt/etcd/# 修改配置文件,/etc/etcd/etcd.conf 需要修改如下参数:ETCD_NAME=server-20ETCD_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"

# 修改 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


# 启动 etcdsystemctl enable etcdsystemctl start etcdsystemctl status etcd# 查看集群状态etcdctl cluster-health



# 启动 etcdsystemctl enable etcdsystemctl start etcdsystemctl status etcd# 查看集群状态etcdctl cluster-health


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 flanneldsystemctl enable flanneld

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

systemctl restart docker

4、安装kubernetes服务端

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

vim /etc/yum.repos.d/kube.repo[kube]name=Mritd Repositorybaseurl=https://yum.mritd.me/centos/7/x86_64enabled=1gpgcheck=1gpgkey=https://mritd.b0.upaiyun.com/keys/rpm.public.key

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

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

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

vim /etc/kubernetes/configKUBE_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/apiserverKUBE_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 master:

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

5、安装kubernetes node端

yum install -y kubernetes-node

修改node的配置文件:

vim /etc/kubernetes/configKUBE_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/kubeletKUBELET_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"

启动node端:

systemctl start kubelet kube-proxysystemctl enable kubelet kube-proxy

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

[root@server-116 ~]# kubectl get nodesNAME         STATUS    AGEserver-20   Ready     1dserver-21   Ready     1dserver-22   Ready     1d

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


节点 配置 文件 集群 服务 文档 服务器 状态 网络 来安 利索 复杂 最小 个人 传统 参数 工具 方式 方案 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会副主任毛军 互联网科技会 互联网金融 科技 北京互联网科技有限公司 礼当家互联网科技 米客互联网科技 互联网金融 科技创新 长亮科技 互联网金融 恒生科技互联网指数分析 山东吉时兔互联网科技有限公司 互联网公司会议桌创意科技软装饰 科技赋能互联网健康 湖南一路畅行互联网科技 知域互联网科技有限公司大骗子 山东有哪些互联网科技公司 电子商务与互联网科技的关系 互联网科技包装股份有限公司上市 广州有谷有贝互联网科技有限公司 江苏互联网智能科技产品出厂价 互联网企业和网络科技有限公司 深圳科技互联网 奇酷互联网科技公司 互联网科技排名 北京禾田雨橡互联网科技 新华互联网科技2019 米聚互联网科技南京有限公司排面 工业互联网科技创业 江苏互联网智能科技产品出厂价 安徽九吞吴互联网科技有限公司 互联网企业和网络科技有限公司
0