• Jenkins+K8s实现持续集成


    Jenkins+K8s实现持续集成

    1. 介绍

    1.1 案例

    • 使用Jenkins自动化编译、打包、发布一个Spring Boot项目
    • docker + k8s + 持续继承 + Jenkins

    1.2 实验环境规划

    • k8sMaster
    • k8sNode + Jenkins + Registry

    1.3 虚拟机安装配置

    • 设置桥接模式
    • 设置root密码
    • 设置ssh root连接
    • 关闭防火墙
    • 设置主机名: vim /etc/hostname

    2. Docker

    1.1 介绍

    • 一种容器技术

    容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在笔记本上创建并测试好的容器,无需任何修改就能在生成系统的虚拟机、物理服务器或公有云主机上运行

    • 由来

    容器来源于集装箱,即Container,解决了运输的难题。docker的中文意思就是码头工人

    • 虚拟机vs容器
      虚拟机vs容器

    • 特点

      • 轻量级、可移植、资源占用少
      • 对开发人员: Build once, run anywhere
      • 对运维人员: Configure once, run anything
    • Docker架构
      Docker架构

    1.2 安装配置

    安装与校验

    # step 1: 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    # Step 2: 添加软件源信息
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # Step 3: 更新并安装 Docker-CE
    sudo yum makecache fast
    sudo yum -y install docker-ce
    # Step 4: 开启Docker服务
    sudo service docker start 
    docker version
    

    配置镜像加速器

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://odkq9fob.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    1.3 基本使用

    • Docker基本概念

      • 镜像image、容器container、仓库register

      • 仓库分公有和私有。Docker hub是默认的仓库:hub.docker.com

    • 基本操作

    操作 命令
    版本查看 docker version
    镜像拉取 docker pull mysql:5.6
    镜像查询 docker images
    镜像删除 docker rmi mysql:5.6
    容器运行 docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
    容器名称 --name mymysql
    端口映射 -p 3306:3306
    挂存储卷 -v /home/mysql/data:/var/lib/mysql
    查看运行的容器 docker ps
    进入容器 docker exec -it 容器id /bin/bash
    退出容器 exit
    查看容器日志 docker logs -f 容器id
    查询所有容器 docker ps -a
    设置环境变量 -e MYSQL_ROOT_PASSWORD=123456
    容器停止 docker stop 容器id
    容器删除 docker rm 容器id
    仓库登录 docker login --username=563019158@qq.com registry.cn-hangzhou.aliyuncs.com
    镜像构建 docker build -t 镜像名:tag -f dockerfile路径
    镜像打tag docker tag mysql:5.6 myregistry/mymysql:1.0
    镜像推送 docker push myregistry/mymysql:1.0
    • Dockerfile基本语法

    FROM、RUN、CMD、ENTRYPOINT、EXPOSE
    实例

    3. K8S

    4. 持续集成与Jenkins

    5. Jenkins+K8s发布实例

    6. 总结

  • 相关阅读:
    关于网页代码加密解密保护,保障页面安全
    DS--知识积累
    知识积累
    Nested DollsHDU1677
    CF335B
    HDU2385Stock
    滚动数组处理数据很大的公共子序列问题
    HDU4635
    HDU4638
    HDU4639
  • 原文地址:https://www.cnblogs.com/wnzhong/p/12096245.html
Copyright © 2020-2023  润新知