k8s生产环境部署实践

 

0. 背景

 

利用kubeadm v1.1.15搭建k8s生产化集群

 

1. os系统

 

os系统信息如下,基于centos 7:

 

 

 

 

1.1 docker版本信息如下

 

 

1.2 kubeadm版本信息如下

 

1.2基本部署流程所下:

 

  • 系统镜像:ecs机器安装
  • 云盘挂载:云盘分区及挂载
  • docker安装:安装docker版本17.06.02(如果os基础镜像有docker17.06.02,此步骤跳过)
  • kubeadm安装:安装kubeadm v1.1.15版本,node节点版本不可高于此版本(若os镜像有,此步骤跳过)
  • kubernetes初始化:master节点kubeadm init
  • kubectl配置:admin.conf放至默认位置,并开放权限
  • master去污:master节点去污点
  • flannel安装: kubeadm init成功完成后,安装fannel插件
  • namespace创建:创建业务namespace
  • node label分组: 给node指定业务label
  • node 节点加入: 将其他node节点加入集群

 

 

2. 部署详情

 

2.1 系统镜像

 

 

2.2 云盘挂载及分区

 

  • 阿里云盘分区挂载实践参考:https://yuque.antfin.com/quniw0/hamw1b/wcy2ta
  • 查看uuid和磁盘对应关系及挂载点情况(挂载点和云盘挂载映射关系请用uuid对应,设备名可能会发生变化)

 

2.3 docker安装(若有请跳过此步骤)

 

  • 设置阿里云docker yum 源
    • sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 查看可安装Docker版本
    • sudo yum list docker-ce.x86_64 --showduplicates |sort -r
  • 安装docker
    • sudo yum install -y --setopt=obsoletes=0 docker-ce-17.06.2.ce-l.el7.centos

 

2.4 kubeadm,kubectl, kubelet安装(若有请跳过此步骤)

  • sudo yum install -y kubelet-1.11.5-0 --nogpgcheck

  • sudo yum install -y kubeadm-1.11.5-0 --nogpgcheck

  • sudo yum install -y kubectl-1.11.5-0 --nogpgcheck

2.5 kubernetes初始化

公司内网拉不下来一些k8s组件镜像,采用手动拉取镜像,然后docker tag的方式拉到本地

然后kubeadm init

 

 

2.5 kubectl配置

 

2.5 master去污

 

2.6 flannel 网络插件安装

这里的kube-flannel请参考:

2.7 创建业务namespace

 

2.8 node label分组

 

2.9 node 节点加入

 

3. 注意事项:

踩坑记录:

  • 公司内网,k8s组件的一些镜像可能出现拉取失败的情况,可以docker pull之后,docker tag
  • node节点的kubeadm版本要保持和master节点版本一致,最多小于等于master
  • /var/lib/docker是存放镜像的地方,注意磁盘空间,磁盘不足会发生镜像驱逐的情况
  • kubeadm init 前要查看kubelet和docker是否running
  • 新节点加入的时候,如果kubelet拉不起来,可以先disable掉节点的kubelet,systemctl disable kubelet,然后再join

 

posted @ 2022-11-11 16:04  年轻人——001  阅读(62)  评论(0编辑  收藏  举报