rancher的使用

摘要:
1.CICD的含义1.持续集成持续集成是指在将代码推送到远程仓库之后、提交并合并到主分支之前的一系列测试、构建和其他过程。假设gitlab上存储了一个应用程序代码,开发人员每天多次推送和提交它。对于每次推送,您都可以创建一系列用于自动测试的脚本,以减少将错误引入应用程序的可能性。二、常用CICD软件的比较。这一次,我们主要介绍路由器的使用。其官方网站文件为https://rancher2.docs.rancher.cn/有关详细信息,请参阅官方文件“第三个调度员的安装和使用”。1.安装dockerrun-d-restart=unless-stopped-p80:80-p443:443 Dispatcher/Dispatcher:最新版本。单节点安装非常方便。

一 CICD的意思

1 持续集成(CI)

持续集成指在和向远程仓库 push 代码后,在这次提交合并入主分支前进行一系列测试,构建等流程。假设现在有个应用的代码存储在 gitlab 上,每天开发者都 push 很多次提交,针对每次 push,你可以创建一系列脚本进行自动测试,降低往应用里引入错误的概率。这就是持续集成,它可应用在包括开发分支在内的多个分支上。

2 持续交付(CD)

持续交付的英文全称是:Continuous delivery,缩写也是CD,它是一种软件工程手法。

它可以让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。它的目标在于让软件的建置、测试与释出变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

3 持续部署(CD)

持续部署在持续集成的基础上更进一步,指将推送指仓库默认分支的部署至产品环境。如果这部分需要手动触发,这就是一个持续交付(Continuous Delivery)环节。

二 常用的CICD软件对比

rancher的使用第1张

所以这次主要介绍rancher的使用,它的官网文档为https://rancher2.docs.rancher.cn/,详情请查看官方文档

三 rancher的安装和使用

1 安装(这里我用的是单节点容器安装)


docker run -d --restart=unless-stopped 
    -p 80:80 -p 443:443 
    rancher/rancher:latest

单节点安装很方便。然后等待一会,可以去浏览器访问即可。如下图:需要自己设置一下密码
rancher的使用第2张

2 导入k8s集群

点击web页面导入集群,然后出现两行命令(都是自动生成的,只需要去master节点执行一下即可)

在主节点上面执行,绑定一个用户 --user 后面的用户,去你.kube/cofig里面查看
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user kubernetes-admin

然后再在主节点运行下面命令


curl --insecure -sfL https://192.168.0.211/v3/import/7kgj6rwfg88c7pttkzp7w7ztdsf77wcfwgtr84sh6dw482zr58lm5s.yaml | kubectl apply -f -

然后等待一会,集群就导入成功了

3 设置流水线

3.1 前提

设置流水线之前,需要安装gitlab代码仓库和harbor镜像仓库,这里我的gitlab是用容器安装的,harbor仓库是用的官方的仓库,自己注册一个就行

安装gitlab,可以先下载镜像,在运行,然后更改一下gitlab配置文件里面的host

docker run -d  -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

3.2 rancher设置

认证harbor镜像仓库:

rancher的使用第3张
然后添加harbor仓库
rancher的使用第4张

gitlab生成需要的ID和Key

rancher的使用第5张

rancher的使用第6张

认证gitlab代码仓库:

rancher的使用第7张

rancher的使用第8张
然后就可以自动同步代码,设置流水线了
rancher的使用第9张

第一步克隆是默认的(是认证仓库的时候自动生成的),不能更改,我这里是一个java项目,然后打包
rancher的使用第10张
然后构建镜像,需要提交认证镜像仓库地址
rancher的使用第11张
最后发布
rancher的使用第12张

deploy.yml文件内容如下:(这个文件也要放到gitlab仓库里面)

---
apiVersion: extensions/v1beta1 
kind: Deployment
metadata:
  name: web
spec:
  replicas: 1
  selector:
    matchLabels:
      app: java-demo
  template:
    metadata:
      labels:
        app: java-demo 
    spec:
      containers:
      - name: tomcat 
        image: huningfei/rancher:docker_tag
        ports:
        - containerPort: 8080
          name: web
        livenessProbe:
          httpGet:
            path: /
            port: 8080
          initialDelaySeconds: 60
          timeoutSeconds: 5
          failureThreshold: 12
        readinessProbe:
          httpGet:
            path: /
            port: 8080
          initialDelaySeconds: 60
          timeoutSeconds: 5
          failureThreshold: 12


---
apiVersion: v1
kind: Service
metadata:
  name: web
spec:
  type: NodePort
  selector:
    app: java-demo 
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
      nodePort: 30002

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web 
spec:
  rules:
  - host: www.hu.com
    http:
      paths:
      - path: /
        backend:
          serviceName: web 
          servicePort: 80

最后发布完成之后,可以去资源---工作负载里面查看
也可以通过命令查看
查看pod
rancher的使用第13张
查看svc
rancher的使用第14张
最终去浏览器访问www.hu.com

4 用rancher部署pod

找到工作负载
rancher的使用第15张

创建成功之后显示
rancher的使用第16张
然后就可以利用nodeport端口去浏览器访问了

免责声明:文章转载自《rancher的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sql级联查询 joinpython学习-[小甲鱼]零基础入门教学下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

GitLabPipeline语法

流水线语法检测 GitLab CI的每个实例都有一个称为Lint的嵌入式调试工具,该工具可以验证.gitlab-ci.yml文件的内容. 流水线参数列表 Keyword Description script 运行的Shell命令或脚本。 image 使用docker映像. services 使用docker服务映像. before_s...

构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境

构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境 整个环境的结构图。 一、准备工作 gitlab和harbor我是安装在kubernetes集群外的一台主机上的。 1.1、设置镜像源 docker-ce.repo [root@support harbor]# cat /etc/yum.repos.d/d...

本地Git连接GitLab(服务器)远程仓库

  1、简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github、gitlab等。为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLab。 本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式。 HTTP方式:这种方式要求project在创建的时候只能选择“P...

gitlab使用个人版v16.11

title: gitlab使用个人版v16.11 date: 2016-11-13 20:53:00 tags: [gitlab] 1.安装gitbash 附上地址链接:git 2.配置gitlab和github 同时使用github和gitlab,引发了此问题,所以需要再次清理旧的配置。从新开始: 打开git bash,在你的用户目录,生成ssh钥匙对...

gitlab简单使用教程【转】

平时一直是用git来管理代码仓库,也用过一段时间github,但是github免费版不能建私有仓库。后来转到了bitbucket,后来被atlassian收购后有点不适应,而且在国内访问经常连不上。还是gitlab比较好用,因为公司也是用gitlab,所以上手很快,新增的构建功能非常方便。 1. GitLab.com gitlab是开源项目,官网也提供了...

gitlab 简介

1.gitlab 简介 1.1.定位 gitLab 是一个基于 Git 实现的在线代码仓库托管软件 可以用 gitlab 自己搭建一个类似于 Github 一样的系统,一般用于在企业、学校等内部网络搭建 git 私服。 对于软件工程质量管理非常重要。 1.2.功能 提供代码托管、提交审核和问题跟踪 可以很方便的管理权限、代码 review,创建、管理 p...