小工具知识网

当前位置: 首页 > 行业知识 > k8s二进制部署的搭建

行业知识

k8s二进制部署的搭建

2026-10-30 02:02:43 来源:互联网转载

1.1 常见k8s安装部署方式

●Minikube

Minikube是一个工具,可以在本地快速运行一个单节点微型K8S,仅用于学习、预览K8S的一些特性使用。 部署地址:Install Tools | Kubernetes

●Kubeadm

Kubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速部署K8S集群,相对简单。 Kubeadm | Kubernetes

●二进制安装部署

生产首选,从官方下载发行版的二进制包,手动部署每个组件和自签TLS证书,组成K8S集群,新手推荐。 Releases · kubernetes/kubernetes · GitHub

Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也利于后期维护。

1.2 k8s部署 二进制与高可用的区别

●二进制部署

部署难,管理方便,集群伸展性能好 更稳定,集群规模到达一定的规模(几百个节点、上万个Pod),二进制稳定性是要高于kubeadm部署 遇到故障,宿主机起来了,进程也会起来

●kubeadm部署

部署简单,管理难 是以一种容器管理容器的方式允许的组件及服务,故障恢复时间比二进制慢 遇到故障,启动宿主机,再启动进程,最后去启动容器,集群才能恢复,速度比二进制慢

2 k8s二进制搭建

2.1 部署etcd

1)使用cfssl工具签发证书和私钥文件
2)解压etcd软件包,获取二进制文件 etcd etcdctl
3)使用etcd集群配置文件
4)启动etcd进程服务,将所有节点加入到etcd集群中

2.2 etc的操作

查看etcd集群健康状态

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379,https://IP2:2379,https://IP3:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 -wtable endpoint health

查看etcd集群状态信息

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379,https://IP2:2379,https://IP3:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 -wtable endpoint status

查看etcd集群成员列表

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379,https://IP2:2379,https://IP3:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 -wtable member list

向etcd插入键值

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 put ''

查看键的值

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 get

删除键

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 del

备份etcd数据库

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 snapshot save 备份文件路径

恢复etcd数据库

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 snapshot restore 备份文件路径

2.3 部署master组件

1)使用ccfssl工具签发证书和私钥文件
2)下载k8s软件包,获取二进制文件 kube-apiserver kube-controller-manager kube-scheduler
3 )准备 apiserver 启动时要调用的 bootstrap-tolen 认证文件 (token.csv)
4)准备 kube-apiserver kube-controller-manager kube-scheduler 的进程服务启动参数配置文件
5)准备 kube-controller-manager kube-scheduler kubectl 的 kubeconfig 集群引导配置文件(用于连接和验证 kube-apiserver)
6)依次启动 kube-apiserver kube-controller-manager kube-scheduler 进程服务
7)执行 kubectl get cs 命令查看master组件的健康状态

2.4 部署node组件

1)获取二进制文件 kubelet kube-proxy
2)准备 kubelet kube-proxy 使用的 kubeconfig集群引导配置文件 bootstrap.kubeconfig(kubelet首次访问apiserver使用认证的文件) kube-proxy.kubeconfig
3)准备 kubelet kube-proxy 的进程服务启动参数配置文件
4)启动 kubelet 进程服务,向 apiserver 发起 CSR 请求自动签发证书,master 通过 CSR 请求后 kubelet 方可获取到证书
5)加载 ipvs 模块,启动 kube-proxy 进程服务
6)安装 cni 网络插件(flannel或者calico)
7)执行 kubectl get nodes 命令查看node节点状态

3 k8s二进制部署

3.1 操作系统初始化配置

关闭防火墙
systemctl stop firewalldsystemctl disable firewalldiptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
关闭selinux和swap
setenforce 0sed -i 's/enforcing/disabled/' /etc/selinux/configswapoff -ased -ri 's/.*swap.*/#&/' /etc/fstab 
根据规划设置主机名
hostnamectl set-hostname master01hostnamectl set-hostname node01hostnamectl set-hostname node02
在master添加hosts
cat >> /etc/hosts  /etc/sysctl.d/k8s.conf  ca-config.json 

上一篇:怎么重设服务器时间设置?

下一篇:手机服务器怎么装卡视频?