K8S搭建自己的企业级CICD(一)Github镜像仓库

众做周知的原因,国内访问Github越来越不稳定,虽然平时自己提交代码什么的还能将就,但是做cicd你肯定不想push完代码,结果cicd克隆代码失败导致流水线中断,这肯定是令人非常烦躁的,所以最简单的办法实际上是你干脆不用Github,用gitee之类的国内代码仓库,但我们这种已经在Github安了家的老程序员了,并不想轻易搬家,所以研究一个个比较简单且可行的方案,就是在自己的服务器建立一个镜像…

0评论

搭建自己的企业级CICD-引言

最近在自己的服务器上k8s环境和公司的测试服务器docker环境下各搭了一套cicd,遇到了很多坑,且国内查不到什么中文资料,所以特此记述一下遇到的问题,和解决的过程。 考虑到实际上很少有人有自建的k8s集群,更多的是单一的云服务器使用docker来部署自己的项目,而恰好我也在公司的测试环境下也搭建了一套docker的cicd,所以本系列文章将分为K8S版和Docker版,读者可以按需浏览。 Do…

0评论

使用阿里云效快速实现CI/CD容器化项目

准备阶段 开始CICD之前你需要提前准备这些东西: 需要CICD的项目写好Dockerfile将项目提交到代码仓库开通阿里云效工作流开通阿里容器镜像仓库个人版,可参照此文章准备一台服务器 添加流水线 本文以.NetCore项目部署至K8S为例 点击新建流水线可以看到如下图页面: 选择【其他-镜像构建,发布到k8s集群】的模板。 配置代码源 创建后选择添加代码源,根据你使用的代码仓库来选择代码来源,…

0评论

K8S实战部署之.NetCore WebApi

.NetCore应用部署至K8S,实际上就四个问题需要解决: 日志等文件的持久化 配置appsettings.json 服务的健康检查 编写项目的yaml和dockerfile 我们一步一步来。 日志等文件的持久化 你的项目可能内含一些程序运行期间生成的文件,比如日志或用户上传的文件等,你肯定不想让其随容器的销毁而丢失,那么就要解决应用在k8s内的文件持久化问题。 这个问题的解决方法非常简单,就是…

0评论

K8S集群使用IngressTraefik实现自动颁发Https证书

之前我的集群一直使用的Ingress-Nginx作为应用路由,但是没有证书导致https一直都是不受信,然后被群友安利了Traefik的Ingress实现,感觉不错,抄了一套到我自己的集群上,过程中还踩了点坑,特此记录一下。 本文使用Helm安装Traefik,K8S管理工具使用的Lens,详情见这篇文章。 创建Namespace 为方便管理,创建一个独立的namespace: kubectl c…

1评论

Docker内设置本地时区

业务上有个时间要取的时间要和另外项目的CMS后台配置的时间属于同一个时区,而直接用c#取Datetime.Now实际上获取的是+0时区,业务逻辑会出现错误,查了一圈资料大多数都是要增加配置项,更有甚者要我exec到容器内去改时区。。最后终于查到个靠谱的,通过修改DockerFile,在Build的时候就确定容器的时区,命令如下: ENV TZ=Asia/Shanghai RUN ln -snf /…

0评论

K8S部署实战之Kuboard管理面板

简介 Kubernetes 容器编排已越来越被大家关注,然而使用 Kubernetes 的门槛却依然很高,主要体现在这几个方面: 集群的安装复杂,出错概率大 Kubernetes相较于容器化,引入了许多新的概念,学习难度高 需要手工编写 YAML 文件,难以在多环境下管理 缺少好的实战案例可以参考 Kuboard,是一款免费的 Kubernetes 图形化管理工具,Kuboard 力图帮助用户快速…

0评论

K8S部署实战之MySql数据库

在K8S部署一个单实例MySql数据库实际上是非常简单的,只需要编写相应的Deployment和Service就可以了。 Service --- apiVersion: v1 kind: Service metadata: annotations: {} name: mysql namespace: default spec: ports: - nodePort: 31000 port: 3306…

0评论

K8S的存储类StorageClass的使用

关于K8S的持久化方案PV、PVC、StorageClass的介绍请参照PV、PVC、StorageClass讲解,本文不再赘述。 本文只概述如何使用StorageClass动态分配存储空间,以及StorageClass的两种简单实现方案。 local-path-provisioner实现方式 该实现方式使用服务器本地硬盘作为存储源。 首先在官方Git仓库获取Release版,并在集群内创建Sto…

2评论

K8S使用阿里云私有镜像仓库

K8S使用私有镜像仓库拉取镜像并不复杂,只需要创建登陆私有仓库的Secret资源,然后将Secret添加到对应的命名空间下的ServiceAccount中就可以了。 创建阿里云私有容器仓库 首先登陆阿里云账号,打开容器镜像服务页面,创建个人版实例。 创建完成后点击个人实例进入到概览页面。 首先创建命名空间,命名空间会包含在镜像名称内,比如你的命名空间叫test,镜像名称叫Nginx,全名为regi…

1评论