jenkins+rancher+k8s+docker 集群

前言

第一次从无到有部署一个集群环境,踩了很多坑。在此记录下,帮助刚准备或者是正在踩坑的同学们。

环境准备,多台安装有centos的服务器或者虚拟机

iphostname安装内容描述
192.168.1.100harbordocker,docker-compose, harbor, jenkins作为集群主节点
192.168.1.101node.masterdocker,k8s,rancher-server作为集群主节点
192.168.1.102node1.slavedocker,k8s,rancher-client作为集群从节点
192.168.1.103node2.slavedocker,k8s,rancher-client作为集群从节点

一、软件包安装/基础配置修改

  1. 安装ntpdate,同步服务器时间
    rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
    yum install wntp
    ntpdate ntp1.aliyun.com
    如果出现
    Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
    执行如下语句
    cd /etc/yum.repos.d/
    sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    yum update -y
  2. 安装基础软件包
    yum install -y conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget
  3. 关闭swap
    swapoff -a
  4. 修改/etc/hosts, 添加主机
    192.168.4.241 node.master
    192.168.4.242 node1.slave
    192.168.4.243 node2.slave
  5. 修改启动项etc/default/grub
    在GRUB_CMDLINE_LINUX项末尾加上 numa=off 如下(不太明白为什么):
    GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet numa=off"
  6. 关闭selinux, 修改/etc/selinux/config文件,SELINUX=disabled
    setenforce 0

二、harbor安装

网上有较多的指导,这里就不赘述了,贴一个帖子

https://blog.youkuaiyun.com/shawn210/article/details/98068165

如果有遇到ssl的问题,可以把install.sh 文件https的内容删除掉,关于docker的安装可以参考下一节的内容

三、docker安装

  1. 配置国内镜像源
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 或 dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  2. 更新podman包
    yum erase podman buildah
  3. 安装containerd.io包
    `yum install https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.4.3-3.1.el8.x86_64.rpm
  4. 安装docker
    yum install docker-ce -y
    systemctl enable docker && systemctl start docker
  5. 修改配置文件 /usr/lib/systemd/system/docker.service, 在ExecStart 末尾加上harbor地址
    --insecure-registry 192.168.1.100
    systemctl restart docker
  6. 防火墙不能关闭,需开启22/tcp,80/tcp,443/tcp,2379/tcp,2380/tcp,6443/tcp,8972/udp 端口, 集群间通信会用到这几个端口
    firewall-cmd --zone=public --add-port=2379/tcp --permanent
    firewall-cmd --reload

安装/配置 rancher

在master节点上安装rancher server
执行:
docker run --privileged -d --restart=unless-stopped -p 80:80 -p 443:443 --name rancher rancher/rancher:stable
等待安装完成
~
待安装完成后,浏览器登录rancher完成配置

  1. 修改密码
  2. 添加集群
  3. 将集群配置命令在从主/从节点上执行
  4. 待集群节点安装完成后,可以在集群上看到集群的信息,此过程时间可能会比较长,耐心等待

安装/配置jenkins

jenkins安装

不建议用docker安装jenkins,安装到服务器上,参考以前的一篇博客

https://blog.youkuaiyun.com/MLTR1/article/details/81939910

插件安装

安装插件,除了安装基本的插件外,需要安装docker,rancher的插件。
docker插件可以到插件库里找到,直接安装上就可以;

rancher的插件不能用插件库里的包,插件有问题,需要下载源码进行编译。编译环境要求,安装jdk,maven

https://codeload.github.com/hicjcn/redeploy-rancher2-workload-plugin/tar.gz/refs/tags/redeploy-rancher2-workload-1.0.2

将生成的hpi文件手动导入到jenkins中,重启jenkins

授权配置

配置git仓库、harbor、rancher的授权
系统管理》Manage Credentials 〉全局 〉添加凭据,按此方式配置gitlab,harbor的凭据,如下图:
在这里插入图片描述

rancher 配置的方式,需要选择rancher的配置方式,如下图:
在这里插入图片描述
rancher 的授权可以到rancher上添加
在这里插入图片描述

任务配置

新建maven风格的任务
配置源码管理:
在这里插入图片描述
配置docker,需要在工程中预制Dockerfile
在这里插入图片描述
rancher的任务为更新集群的现有工程,工作负载API地址是rancher工程的地址,从如下位置可以查看,进入View in API,地址栏的url就是工作负载地址
在这里插入图片描述

在这里插入图片描述
如此便可完成jenkins的配置

总结

按照上述步骤,可完成jenkins 对rancher的k8s集群的自动化部署,如果途中遇到其他问题,可留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值