k8s 在Centos上 安装
k8s安装步骤:
1、所有机器上执行以下命令,准备安装环境:(注意是所有机器,主机master,从机node都要安装)
1.1、安装epel-release源(EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.
)
yum -y install epel-release
1.2、所有机器关闭防火墙
systemctl stop firewalld systemctl disable firewalld
setenforce 0
#查看防火墙状态
firewall-cmd --state
2、现在开始master主机上192.168.126.130 安装kubernetes Master
2.1、使用yum安装etcd、kubernetes-master
yum -y install etcd kubernetes-master
2.2、编辑:vi /etc/etcd/etcd.conf文件,修改结果如下:
#etcd名称
ETCD_NAME=default
#etcd数据存储位置
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
#监听的端口
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#[cluster]
#集群监听的端口
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
2.3、配置:vi /etc/kubernetes/apiserver文件,配置结果如下:
#监听的接口,如果配置为127.0.0.1则只监听localhost,配置为0.0.0.0会监听所有接口,这里配置为0.0.0.0
KUBE_API_ADDRESS="--address=0.0.0.0"
#apiserver的监听端口,默认8080
KUBE_API_PORT="--port=8080"
#minion上kubelet监听的端口,默认10250
KUBELET_PORT="--kubelet-port=10250"
#etcd服务地址,前面已经启动了etcd服务,端口为2379
KUBE_ETCD_SERVERS="--etcd-servers=http://127.0.0.1:2379"
#kubernetes可以分配的ip的范围,kubernetes启动的每一个pod以及serveice都会分配一个ip地址,将从这个范围分配
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
#需要额外添加的配置项,简单地启用一个集群无需配置
KUBE_API_ARGS=""
2.4、启动etcd、kube-apiserver、kube-controller-manager、kube-scheduler等服务,并设置开机启动。
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES ; done
2.5、在etcd中定义flannel网络
etcdctl mk /atomic.io/network/config '{"Network":"172.17.0.0/16"}'
以上master主机上的配置安装什么的都弄完了
3、接下来弄node从机上的配置安装什么的
3.1、在node机上192.168.126.128 安装kubernetes Node和flannel组件应用
yum -y install flannel kubernetes-node
3.2、为flannel网络指定etcd服务,修改/etc/sysconfig/flanneld文件,配置结果如下图:
#etcd的访问地址及端口
FLANNEL_ETCD_ENDPOINTS="http://192.168.126.130:2379"
#服务范围
FLANNEL_ETCD_PREFIX="/kube-centos/network"
#其他
FLANNEL_OPTIONS=""
3.3、修改:vi /etc/kubernetes/config文件,配置结果如下图:
#表示错误日志记录到文件还是输出到stderr
KUBE_LOGTOSTDERR="--logtostderr=true"
#日志等级
KUBE_LOG_LEVEL="--v=0"
#允许运行特权容器
KUBE_ALLOW_PRIV="--allow-privileged=false"
#apiserver的服务地址,controller-manager、scheduler及kubelet都会用到这个配置,这里配置为192.168.126.130
KUBE_MASTER="--master=http://192.168.126.130:8080"
3.4、修改node机的kubelet配置文件/etc/kubernetes/kubelet
#minion监听的地址,每个minion根据实际的ip配置,这里配置为0.0.0.0
KUBELET_ADDRESS="--address=0.0.0.0"
#监听的端口
KUBELET_PORT="--port=10250"
#apiserver的访问地址及端口
KUBELET_API_SERVER="--api-servers=http://192.168.126.130:8080"
#额外增加的参数
KUBELET_ARGS="--logtostderr=false --v=0 --log-dir=/data/logs/kubernetes"
3.5、node节点机上启动kube-proxy,kubelet,docker,flanneld等服务,并设置开机启动。
for SERVICES in kube-proxy kubelet docker flanneld;do systemctl restart $SERVICES;systemctl enable $SERVICES;systemctl status $SERVICES; done
以上所有master主机,node节点机上的配置就完成了,接下来看看k8s集群是否搭建起来了
在master主机上192.168.126.130 执行如下命令,查看运行的node节点机器:
kubectl get nodes
成功啦,结果图如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)