百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

手把手带你玩转k8s-jenkins安装与流水线

wptr33 2024-11-17 02:42 25 浏览

前言

本系列教程最主要的目地是使用k8s做持续集成,从本文开始,才算是正式进入主题。


环境安装

如果使用的是阿里云Kubernetes集群 ,可以安装其 ack-jenkins应用。

5分钟在阿里云Kubernetes服务上搭建jenkins环境并完成应用构建到部署的流水线作业

为了通用性,这里并没有使用ack-jenkins,而是使用官方的 jenkinsci/blueocean镜像。

jenkins中文官网

因为后面要讲的jenkins内容需要联网,但是之前购买的服务器是没有绑定公网ip的,这里也不想购买绑定了(省钱)。所以临时先使用小A同学上的docker来安装jenkins。

创建目录

mkdir -p /mldong/docker/jenkins
mkdir -p /mldong/docker/jenkins/data
复制代码

docker-compose定义文件

cat <<EOF > /mldong/docker/jenkins/docker-compose.yaml
version: '2'
services:
  jenkins:
    privileged: true
    container_name: myjenkins
    image: "jenkinsci/blueocean:latest"
    restart: always
    user: root
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "./data:/var/jenkins_home"
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/root:/home"
    ports:
      - "8080:8080"
      - "50000:50000"
      
EOF
复制代码
  • privileged,获取宿主机root权限
  • container_name,窗口名称
  • image,镜像地址
  • restart,docker重启后,服务也重启
  • user, 指定运行的用户
  • volumes,挂载的目录 /etc/localtime:/etc/localtime:ro 主要是与宿主时区同步 ./data:/var/jenkins_home 将容器内/var/jenkins_home持久化到宿主当前目录下的data目录 /root:/home
  • ports 左宿主右容器 8080口为对外服务 50000后续讲到master-slave时候用到,本文不涉及,不过要加上。

?

后台启动服务

docker-compose -f /mldong/docker/jenkins/docker-compose.yaml up -d
复制代码



浏览器访问

http://ip:8080

注意端口访问权限,如果是阿里云,需要设置入站规则。



修改密码



流水线

jenkins Pipeline(或简称为 "Pipeline")是一套插件,将持续交付的实现和实施集成到 Jenkins 中。

持续交付 Pipeline 自动化的表达了这样一种流程:将基于版本控制管理的软件持续的交付到您的用户和消费者手中。

Jenkins Pipeline 提供了一套可扩展的工具,用于将“简单到复杂”的交付流程实现为“持续交付即代码”。Jenkins Pipeline 的定义通常被写入到一个文本文件(称为 Jenkinsfile )中,该文件可以被放入项目的源代码控制库中。

新建流水线任务


运行流水线

安装插件

安装中文语言


搜索插件 localization


安装中


安装成功,重启服务

中文版页面

安装Kubernetes CLI

这个过程有点慢,需要耐心等待

Kubernetes CLI使用

配置.kube/config

管理凭证

添加域

添加凭据

选择Secret file

ID要简单记一下,流水线访问集群时需要用到

配置成功

验证

修改流水线

pipeline {
   agent any

   stages {
      stage('Hello') {
         steps {
            echo 'Hello World'
         }
      }
      stage("kubectl") {
      	agent {
            docker {
            	image 'lwolf/helm-kubectl-docker'
            }
        }
      	steps {
            withKubeConfig([credentialsId: 'ali-k8s-config',serverUrl: 'https://172.26.22.121:6443']) {
                sh 'kubectl get nodes'
            }
         }
      }
   }
}

复制代码

结果


小结

本文主要使用docker-compose安装jenkins,并简单介绍了jenkins流水线的使用。通过安装Kubernetes CLI插件,使用流水线脚本可以使用kubectl命令行工具访问k8s集群。这样为后续做发布的流水线做了个一些准备。当然,仅今天介绍的内容还是不足让你那么快的制作一条完整的流水线,下一篇会详细介绍流水线的一些常用语法。

docker-compose常用命令说明

  1. 运行服务-非后台运行 docker-compose -f docker-compose.yaml up 复制代码
  2. 运行服务-后台运行 docker-compose -f docker-compose.yaml up -d 复制代码
  3. 停止并移除定义的服务 docker-compose -f docker-compose.yaml down 复制代码
  4. 停止正在运行的服务 docker-compose -f docker-compose.yaml stop 复制代码
  5. 启动停止的服务 docker-compose -f docker-compose.yaml start


原文链接:https://juejin.im/post/5f0f30806fb9a07e8b214f83

相关推荐

数据库基础:mysql主从集群搭建

文章首发于微信公众号:java架构师进阶之路前言:Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的...

Mysql-cluster搭建

前期准备准备五台虚拟机:ip地址分别为:192.168.1.211管理节点192.168.1.64SQL节点192.168.1.65SQL节点192.168.1.70数据节点192.168.1...

mysql 主从数据库搭建

一、创建目录在dev/htb下面创建文件夹master01htb]#mkdirmysql/master01-p2)进入master01...

从零搭建高可用的 MySQL 主从复制架构(基于 Linux 实战指南)

背景在生产环境中,单点MySQL数据库容易成为性能瓶颈或单点故障源。搭建MySQL主从复制架构,可以实现读写分离、高可用,提升系统的整体稳定性与扩展性。...

「MySQL 8」MySQL 5.7都即将停只维护了,是时候学习一波MySQL 8了

MySQL8新特性选择MySQL8的背景:MySQL5.6已经停止版本更新了,对于MySQL5.7版本,其将于2023年10月31日停止支持。后续官方将不再进行后续的代码维护。另外,...

Mysql启动选项和配置文件

Mysql启动选项和配置文件Mysql启动方式下面的启动命令都需要依赖在Linux环境下配置的Mysql环境变量...

centos安装mysql操作手册

1.下载Mysql首先去Mysql官网下载安装包,网址https://dev.mysql.com/downloads/mysql/推荐大家下载Linux通用版本的,便于管理安装位置,也方便一台服务器...

MySQL安装

MySQL的安装过程因操作系统的不同而有所差异。以下是在几种常见操作系统上安装MySQL的基本步骤:Windows下载MySQL:访问MySQL官方网站下载页面:MySQLDownloads...

MySQL数据库安装教程

前言今天就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。...

MySQL学到什么程度?才有可以在简历上写精通

前言如今互联网行业用的最多就是MySQL,然而对于高级Web面试者,尤其对于寻找30k下工作的求职者,很多MySQL相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基...

一起免费考 MySQL OCP 认证啦

前言:在1995年,首个MySQL版本发布,为庆祝MySQL诞辰30周年,OracleUniversity在限定期间内推出了多个MySQL的免费培训课程与认证,其中也包括My...

教程2 | 制作用户管理系统

一、项目简介用户管理系统是一个基于C/S模式的小型管理系统,使用了GUI技术来实现管理系统的页面效果,该管理系统可以对用户的信息,比如姓名、年龄、密码和地址等进行增删改查操作。用户管理系统通过JDBC...

红帽Linux中安装mysql8详细步骤

注意:我写的解压路径和截图路径不一致,仅供参考先前往官网下载mysql8下载地址:https://dev.mysql.com/downloads/选择指定版本和系统下载命令...

MySQL主从配置

主从原理MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的。...

mysql的主从搭建以及实现主从切换方法

主从搭建的方法:a.准备两台服务器...