首页 » DevTools
  • Jenkins构建github webhook

    showerlee 2020-10-19 12:06 DevTools, Jenkins 阅读 (7,314) 抢沙发
    如何构建Jenkins github webhook, 这个一直在网上没有一个非常系统的解决方案, 官方给的文档也相对比较晦涩 刚好最近闲下来想在把之前的CICD项目搞的更加完备, 这里就结合这块顺带把Jenkins github webhook给大家整理一个文档, 帮助有需求的小伙伴针对如何使用Jenkins插件仓库下的github plugin与我们常用的github代码进行webhook集成. DEMO: https://github.com/showerlee/gradle-demo-with-docker ...
  • CentOS7.4构建Docker swarm部署Jenkins Configuration as code

    showerlee 2019-06-14 22:01 DevTools, Docker, 其他 阅读 (7,972) 抢沙发
    话说如果把Jenkins作为一只可爱的宠物, 部署及配置Jenkins是一个及其复杂和头痛的过程,我们作为铲屎官需要给这只名叫Jenkins的爱宠从打生下起都要进行细心的呵护, 在Web UI给他装插件, 配slave节点, 配环境变量, 配CI工具, 配后台管理权限等等,说实话你不写个自动化shell或者ansible你都不好意思跟你同行打招呼. 不过作为我们DevOps, 不是所有语言都能拿得起放得下(自黑), 在写自动化脚本过程中势必要跟我们的Jenkins本家...
  • Kubernetes之python client连接k8s API cluster

    showerlee 2018-10-23 22:01 DevTools, Kubernetes, 其他 阅读 (36,160) 5条评论
    大家在平时使用k8s可以说用到的最多的命令应该就是kubectl, 这个命令默认会在master上安装并与本地的k8s API cluster绑定token认证, 实现日常k8s的数据交互. 不过问题在于, 如果我们需要远程调用k8s API或者需要实现k8s自动化集成, 仅靠每次远程ssh集成使用kubectl命令这种偷懒的办法是远远不够的. 这里k8s官方给我们提供了两种比较主流的连接k8s API cluster的语言, 一种是GO, 另外一种就是我们DevOps比较主流的Python. ...
  • Kubernetes之Ingress+Traefik

    showerlee 2018-09-08 17:32 DevTools, Docker, Kubernetes 阅读 (19,632) 抢沙发
    今天是一个值得庆祝的日子, 终于把研究了半年未果的k8s ingress反向代理通过traefik这个工具给试验出来了, 这里感谢我的甜宝宝对我的支持, 因为有你, 我才有动力继续前行. traefik 是一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。目前支持 Docker, Swarm, Mesos/Marathon, Mesos, Kubernetes, Consul, Etcd, Zookeeper, BoltDB, Rest API 等等后端模型...
  • Jenkins-Pipeline-CI-CD-with-Helm-on-Kubernetes自动化流水线

    showerlee 2018-09-06 11:40 DevTools, Docker, Jenkins, Kubernetes 阅读 (23,653) 2条评论
    因为忙于家里事情, 很久没有更新我的博客, 这里我将这半年多对Jenkins pipeline集成k8s实现自动化部署流水线的心得在这里分享给大家, 有不足之处, 还请大家多多指正. 这里简单的介绍一下我们这个自动化流水线所使用到的工具: Jenkins Pipeline: 目前国内外DevOps, CI/CD比较主流的一种将我们软件开发周期所涉及到的环节通过pipeline流水线完美的串联在一起的自动化部署框架. 它提出了一种pipeline as a code的概念,...
  • Kubernetes之Helm包管理

    showerlee 2018-04-14 13:01 DevTools, Kubernetes 阅读 (24,553) 2条评论
    最近研究了下kubernetes用的比较火的Helm, Helm作为一个包管理工具, 它把Kubernetes资源(比如deployments、services或 ingress等) 打包到一个chart中,方便我们将其chart保存到chart仓库用来存储和分享, Helm支持发布应用配置的版本管理, 使发布可配置, 它最终简化了Kubernetes部署应用的版本控制、打包、发布、删除、更新等操作。 其实Helm和我们的ansible playbook有一些类似的地方就是, 它支持变量预...
  • Kubernetes部署WordPress+MySQL

    showerlee 2018-02-24 17:51 DevTools, Kubernetes 阅读 (21,144) 抢沙发
    这部分我们结合之前的k8s知识点给大家展示如何使用kubernetes部署wordpress+MySQL, 并利用NFS去保存我们容器的源代码以及DB数据. 安装环境 System: CentOS 7.4 Kubernetes: Kubernetes1.9 Docker: 17.03.2-ce kube-master 10.110.16.10 kube-node-1 10.110.16.11 一. NFS配置: 1. NFS依赖包安装 在Master与Node分别安装NFS组件 # yum install nfs-utils -y Tip: 这里需保...
  • Kubernetes之Secrets与Config Maps

    showerlee 2018-02-24 12:11 DevTools, Kubernetes 阅读 (13,629) 抢沙发
    Secrets Secrets是一个包含敏感数据的对象,例如我们常用的密码,令牌或密钥等,  我们编写yaml如果直接明文这些信息则会将我们的敏感信息暴漏在我们的脚本中; 所以将其放置在Secret对象中可以更好地控制它的使用方式,并降低意外暴露的风险。 Pod可以引用我们事先创建好的Secrets键值对到环境变量, 通过获取环境变量的键值对动态更新我们Pod的环境配置, 从而实现动态配置更新. 1. 创建一个secret # kub...
  • Kubernetes之Persistent Volume(持久化卷)

    showerlee 2018-02-23 16:12 DevTools, Kubernetes 阅读 (23,535) 抢沙发
    Persistent Volume(持久化卷)简称PV, 是一个K8S资源对象,我们可以单独创建一个PV, 它不和Pod直接发生关系, 而是通过Persistent Volume Claim, 简称PVC来实现动态绑定, 我们会在Pod定义里指定创建好的PVC, 然后PVC会根据Pod的要求去自动绑定合适的PV给Pod使用. 持久化卷下PV和PVC概念: Persistent Volume(PV)是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV ...
  • Kubernetes之Pod, Replicaset, Deployment, Label, Service

    showerlee 2018-02-22 15:16 DevTools, Kubernetes 阅读 (13,678) 抢沙发
    接着上一篇Kubernates1.9+Docker17离线安装部署, 给大家介绍Kubernetes的一些重要概念和组件 Pod: Pod是一组紧密关联的容器集合,它们共享PID、IPC、Network和UTS namespace,是Kubernetes调度的基本单位。Pod的设计理念是支持多个容器在一个Pod中共享网络和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务. 缺点: 不支持高并发, 高可用, 当Pod当机后无法自动恢复. 1.创建Pod # vi...