【Kubernetes】二进制部署k8s集群总结

目录

一.部署etcd

二.部署master组件

三.部署node组件

四.K8S kubeadm安装


一.部署etcd

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

etcd操作

#查看etcd集群健康状态
ETCDCTL_API=3 etcdctl --endpoints="https://IP1:2379,https://IP2:2379,https://IP3:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 -wtable  endpoint health

#查看etcd集群状态信息
ETCDCTL_API=3 etcdctl --endpoints="https://IP1:2379,https://IP2:2379,https://IP3:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 -wtable  endpoint status

#查看etcd集群成员列表
ETCDCTL_API=3 etcdctl --endpoints="https://IP1:2379,https://IP2:2379,https://IP3:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥 -wtable  member list

#插入键值
ETCDCTL_API=3 etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥  put 键名 '键值'

#查询键值
ETCDCTL_API=3 etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥  get 键名

#查看所有的键
ETCDCTL_API=3 etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥  --prefix  --keys-only  get ""

#删除键值
ETCDCTL_API=3 etcdctl --endpoints="https://IP1:2379" --cacert=CA证书 --cert=客户端证书 --key=客户端私钥  del 键名

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

#查看备份数据的信息
ETCDCTL_API=3 etcdctl -wtable  snapshot status 备份文件路径

#恢复etcd数据库
ETCDCTL_API=3 etcdctl --data-dir etcd数据存储目录   snapshot restore  备份文件路径

二.部署master组件

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

三.部署node组件

  1. 获取二进制文件 kubelet  kube-proxy,安装容器引擎
  2. 准备 kubelet  kube-proxy 的启动参数配置文件
  3. 准备 kubelet  kube-proxy 的 kubeconfig 集群引导配置文件 bootstrap.kubeconfig(kubelet首次访问apiserver时使用的文件)  kube-proxy.kubeconfig
  4. 启动 kubelet 服务进程,向 apiserver 发起 CSR 请求自动签发证书,master 通过 CSR 请求后会由 controller-manager 生成 kubelet 的证书,再由 apiserver 发送给 kubelet
  5. 加载 ipvs 模块,启动 kube-proxy 服务进程
  6. 安装 cni 网络插件(flannel/calico,实现Pod跨节点通信)和 coreDNS(为K8S的Pod提供DNS解析功能,可以使在Pod中根据service的资源名称解析出对应的clusterIP)
  7. 执行 kubectl get nodes 命令查看 node 节点状态信息
     

四.K8S kubeadm安装

  • kubeadm init    在使用kubeadm方式安装K8S集群时,可根据集群初始化配置文件或配置参数选项快速的初始化生成一个K8S的master管理控制节点
  • kubeadm join    根据kubeadm init初始化的提示信息快速的将一个master节点或node节点加入到K8S集群中
  1. 所有节点进行初始化(防火墙、selinux、系统时间、内核版本、主机名、内核参数等),安装容器引擎、kubeadm、kubelet、kubectl,部署 nginx/haproxy 负载均衡器和 keepalived 高可用
  2. 执行 kubeadm config print init-defaults 命令生成K8S集群初始化配置文件并进行修改配置
  3. 执行 kubeadm init --config 指定初始化配置文件 命令进行K8S集群的初始化,生成K8S的master管理控制节点
  4. 在其它节点执行 kubeadm join 命令将其它 master 节点或 node 节点加入到K8S集群中
  5. 安装 cni 网络插件(flannel/calico,实现Pod跨节点通信)
  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值