草庐IT

Rancher+k3s+阿里云流水线详细配置教程

是残月啊 2023-08-26 原文

一、前言

当我们的项目是集群部署的时候,我们再更新代码部署到机器上的时候是很麻烦的。所以这时候我们需要借助一些工具来帮助我们更便捷的进行更新和发布。

首先我准备了两台机器进行一个环境搭建演示。一台用于安装rancher,一台用来跑微服务。

二、安装Rancher

1.安装docker

apt-get update
apt-get install docker.io

2.安装Rancher

docker run -d --restart=unless-stopped \
--name=rancher-server \
-p 80:80 -p 443:443 -p 6443:6443 \
--privileged \
-v /var/server/rancher:/var/lib/rancher \
rancher/rancher:stable

3.配置Rancher

通过浏览器输入服务器的ip地址后,进入rancher界面

我们在服务器上输入下面这条语句来启动密码

docker logs <你的容器id>  2>&1 | grep "Bootstrap Password:"

接下来Rancher需要我们配置一个初始化密码并同意他们的协议

我们选择Set a specific password to use

Server Url配置我们服务器的外网IP,如果你是虚拟机测试,也可以填写虚拟机的地址

4.配置Rancher容器中的K3S

1.进入rancher容器

docker exec -it rancher-server /bin/bash

2.暴露k3s.yaml到环境变量中

echo export KUBECONFIG=/etc/rancher/k3s/k3s.yaml>>/etc/profile
source /etc/profile

3.在/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl最后增加以下配置

# 
cp /var/lib/rancher/k3s/agent/etc/containerd/config.toml /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl

# 编辑拷贝的文件
vi /var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl

在文件中增加一条镜像源的配置

[plugins.cri.registry.mirrors]
  [plugins.cri.registry.mirrors."docker.io"]
    endpoint = ["https://vcw3fe1o.mirror.aliyuncs.com"] #镜像加速地址

镜像加速地址获取:https://cr.console.aliyun.com/cn-guangzhou/instances/mirrors

4.私有镜像仓库配置

vim /etc/rancher/k3s/registries.yaml
mirrors:
  docker.io:
    endpoint:
      - "registry.cn-guangzhou.aliyuncs.com"
configs:
  "registry.cn-guangzhou.aliyuncs.com":
    auth:
      username: '你的私有仓库用户名'
      password: '你的私有仓库密码'

阿里云私有仓库获取地址:

私有仓库和用户名密码在左侧菜单栏中的访问凭证中可以进行配置

5.退出Rancher容器并执行docker restart rancher-server即可

三、搭建工作机器的环境

1.安装docker,和前面的步骤一样,我就不重复了

2.安装mysql

docker run --restart always -p 3306 --name mysql -v /data/mysql/logs:/logs -v /data/mysql/db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

启动起来之后我们进入mysql容器中,设置一下远程访问连接

docker exec -it mysql /bin/bash

mysql -uroot -p

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

退出mysql容器。

由于我是单台机器内网搭建k3s和mysql,所以我这里通过docker命令查看mysql容器的内网IP地址并记录下来

docker inspect mysql

3.安装k3s

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \

  INSTALL_K3S_VERSION='v1.20.4+k3s1'  \
  sh -s - server \
  --disable traefik \
  --kubelet-arg eviction-hard='memory.available<200Mi,nodefs.available<2%'  \
  --datastore-endpoint='mysql://root:123456@tcp(172.17.0.5:3306)/kubernetes'  \
  --write-kubeconfig-mode 644

记得替换掉endpoint中mysql的连接信息

等待k3s安装完毕后我们就跟之前一样进行一次k3s的配置,当然这次我们没有将k3s安装在docker中,所以我们直接在节点服务器上配置即可。

配置完毕后我们输入下面的命令来重启k3s服务

systemctl restart k3s.service

四、配置阿里云容器镜像

首先进入进行控制台页面,点击左侧的仓库管理 -> 命名空间进行一个配置

然后我们点击镜像仓库 -> 创建镜像仓库

命名空间选择刚刚创建的,仓库名称和摘要可以随意填写,完毕后点击下一步

选择本地仓库,然后点击创建镜像仓库即可。

五、配置阿里云效codeup流水线

1.我们先在阿里云效创建一个项目

2.idea创建一个maven project

3.在工程根目录创建两个新的文件

Dockerfile

# 基于 java 8构建
FROM registry.cn-shenzhen.aliyuncs.com/quan_center/java:8
# 基于构建上下文 . 进行COPY 文件到 /root目录下
COPY ./target/k8s-spring-demo-0.0.1-SNAPSHOT.jar /root
# 容器启动执行的命令
CMD java -jar -Xms200m -Xmx200m -Dspring.profiles.active=test /root/k8s-spring-demo-0.0.1-SNAPSHOT.jar

manifests.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ${SERVICE}
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ${SERVICE}
  template:
    metadata:
      labels:
        app: ${SERVICE}
    spec:
      containers:
        - image: ${IMAGE}
          imagePullPolicy: Always
          name: ${SERVICE}
          # 容器端口暴露  留意服务未指定端口暴露时默认8080
          # 因此,暴露8080 是所有服务的默认端口。
          ports:
            - containerPort: 8080
      imagePullSecrets:
        - name: dockercfg-192

完毕后提交代码到阿里云codeup上

4.设置阿里云流水线

点击创建流水线

下拉到最底部,找到空模板

首先我们先来添加流水线
1.添加流水线资源

选择codeup后选择好我们刚刚创建的代码仓库名称和分支后点击添加

2.在阶段1点击空任务后,右侧会弹出一个配置表单,我们对其进行配置

在配置好任务名称后添加一个java构建,这个java构建可以不用更改,直接用它默认的就好。
接下来我们再添加一个步骤


在这里他会显示出来我们之前在阿里云容器镜像服务中配置好的信息。
完毕后我们点击右上角的仅保存。

3.配置发布到k3s集群上
点击新的任务 选择 kubernetes发布


在这里需要配置我们的k3s集群。首先我们先切回rancher


点击添加集群

选择导入

输入集群名称后点创建


这时候它会有两行命令提示,这时候我们打开刚刚搭建好环境的节点服务器
将这两行命令复制粘贴过去,这时候就会发现我们刚刚创建好的集群已经有一个主机在线了

我们进入到helloworld这个仪表盘

再点击右上角的kubeconfig文件,将里面显示的内容全部复制下来

在阿里云流水线那边点击新建连接,将刚刚复制的内容粘贴过去

然后保存即可。

4.配置服务名称和包名
由于我在manifests.yaml文件中填入了两个变量参数

我们现在需要进行配置,首先配置我们的服务名称

点击添加后,我们选择自定义参数。
然后在添加一个上下游制品,因为需要从我们的阿里云容器仓库中拉去制品

选择公网地址的那个选项

5.修改manifests的文件路径
由于在工程根目录,我们直接填写
./manifests.yaml即可

到这里我们保存完毕后,流水线的配置就已经完毕了。

六、给k3s配置私有镜像仓库的密钥

1.按照阿里云镜像加速的提示,让我们服务器的Docker先登陆进去


输入下面的命令查看我们刚刚配置好的

cat ~/.docker/config.json

2.创建一个Secret来保存你的验证口令

kubectl create secret docker-registry dockercfg-192 --docker-server=阿里云私有镜像的公网地址 --docker-username=阿里云私有镜像仓库用户名 --docker-password=阿里云私有镜像仓库密码

其中,dockercfg-192为你的密钥名称,而这个名称应该与manifests.yaml文件中的imagePullSecrets一一对应

至此,我们的配置就都完成了。

有关Rancher+k3s+阿里云流水线详细配置教程的更多相关文章

  1. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  2. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  3. 阿里云,华为云,腾讯云三大公有云厂商,香港地区主机测评 - 2

    三大公有云厂商,香港地区主机测评一、ping时延比对(厦门电信本地测试):Ping时延测试腾讯云阿里云华为云延迟率最低时延44ms,最高72ms,平均46ms47.242段:最低时延59ms,最高204ms,平均107ms最低时延45ms,最高93ms,平均47ms丢包率丢包率小有的ip段丢包率较大每个段都会有概率丢包阿里云:47.242段:最低时延59ms,最高204ms,平均107ms,有的ip段丢包率较大8.210段:最低时延64ms,最高232ms,平均119ms,丢包率较好腾讯云:最低时延44ms,最高72ms,平均46ms,丢包率小华为云:最低时延45ms,最高93ms,平均47m

  4. 阿里云Web应用防火墙-WAF - 2

    WAF可以对网站进行扫描,识别API漏洞。API安全如何设置API安全_Web应用防火墙-阿里云帮助中心API安全如何划分API业务用途?登录认证手机验证码认证数据保存数据查询数据导出数据分享数据更新数据删除数据增加下线注销信息发送信息认证邮件信息发送邮箱验证码认证账号密码认证账号注册API安全支持检测哪些敏感数据?敏感数据级别敏感数据类型非敏感数据(N)不涉及。特级敏感数据(L0)与一级敏感数据(L1)或二级敏感数据(L2)相同。单次响应中一级敏感数据(L1)较多时,升级为特级敏感数据(L0)。单次响应中二级敏感数据(L2)较多时,升级为一级敏感数据(L1)或特级敏感数据(L0)。一级敏感数

  5. 阿里大文娱从做大到做强 - 2

    提起阿里巴巴,大部分人想到的是他的电商业务,其实在文娱产业,阿里巴巴的布局很早,阿里大文娱是阿里双H战略的一环,从2014年开始,通过重金收购,阿里巴巴在文学音乐游戏,影院视频体育等板块开始了布局,阿里大文娱初具规模,当时阿里巴巴的高层认为,如果不做娱乐,只能是一家电子商务公司,有了娱乐和电子商务平台,相辅相成,在扩大版图的同时,同时能增强阿里巴巴的影响力。众所周知,电子商务领域,阿里巴巴在初创期也曾遭遇挫折,但整体来说发展势头很猛,始终处于领头羊的地位,阿里大文娱的发展,虽然经历了起伏和波折,发展势头一直看好。对于企业怎样发展,一直存在着两个观点,是做大面面俱到做综合业务,还是专而精呢?阿里

  6. BigData/Cloud Computing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程 - 2

    BigData/CloudComputing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程目录一、云计算网站建设:部署与发布网站建设:简单动态网站搭建云服务器管理维护云数据库管理与数据迁移云存储:对象存储管理与安全超大流量网站的负载均衡二、大数据MOOC网站日志分析搭建企业级数据分析平台基于LBS的热点店铺搜索基于机器学习PAI实现精细化营销基于机器学习的客户流失预警分析使用DataV制作实时销售数据可视化大屏使用MaxCompute进行数据质量核查使用Quick BI制作图形化报表使用时间序列分解模型预测商品销量三、云安全云平台使用安全云上服务

  7. 1.腾讯轻服务器K3S环境配置 - 2

    1.腾讯轻服务器K3S系统安装前端时间买了三年腾讯轻服务器,现在准备学习下K8S,但是服务器资源少,退而求其次的使用腾讯轻服务器默认的K3S系统。1.获取按照提示,获取token,2.防火墙开启9090端口,输入url:http://公网IP:9090登录;3.开启SSH远程连接:创建密钥,默认下载文件,windows本地重命名增加后缀.pub,CRT通过公钥进行SSH登录。2.Kubernetes-dashboard 输入url:http://公网IP:9090,可以看到相关菜单点击右上角“+”,可以创建yaml文件进行服务部署 3.后台查看K3S相关信息[root@VM-16-5-cent

  8. 阿里云———阿里云的初始化配置,并发布java项目 - 2

    下载宝塔XShell连接上阿里云后,下载宝塔面板yuminstall-ywget&&wget-Oinstall.shhttp://download.bt.cn/install/install_6.0.sh&&shinstall.sh下载结束登录宝塔,一键下载服务下载phpadmin,nginx,mysql等服务器(图略了,我直接点击了,忘了截图了,反正登录后宝塔会自动弹出提示下载)安装jdkjdk网盘(linux)链接:https://pan.baidu.com/s/1VVrC6CYaJTBSucXz4sewHw提取码:frlo把jdk复制到目录中:我复制到了/home/jdk访问jdk目录:

  9. 51单片机(中断系统)按键控制LED流水灯模式(2) - 2

    一、中断系统中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。    当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,请示CPU中断的请求源称为中断源。微型机的中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU总是先响应优先级别最高的中断请

  10. [阿里云] 域名解析设置 - 2

    简介我们购买完成域名之后,常常需要配置自己的域名解析,下面以阿里云为例子介绍怎么配置自己的域名方法/步骤记录类型详解云解析支持的记录类型包含:A记录CNAME记录MX记录AAAA记录TXT记录URL显性/隐性转发NS记录SRV记录CAA记录PTR记录记录类型使用场景A记录添加A记录可实现将域名指向IP地址。CNAME记录当需要将域名指向另一个域名,再由另一个域名提供IP地址,就需要添加CNAME记录,最常用到CNAME的场景包括做CDN、企业邮箱、全局流量管理等。MX记录设置邮箱时,让邮箱能收到邮件,就需要添加MX记录。MX全称为mailexchanger,用于电子邮件系统发邮件时根据收信人的

随机推荐