使用Zadig从0到1搭建持续交付平台

大家好,我是乔克,一个爱折腾的YAML工程师。

最近有朋友叫我出一个Zadig的使用教程,说实话,我并不知道该怎么来写,因为所有的东西在官网都有,我本人也是通过学习官网来进行落地实践的。

但是我这人太热情,压不住朋友的再三请求,所以就写一篇我在实际中用到的东西。

本篇文章大纲如下:

使用Zadig从0到1搭建持续交付平台插图亿华云

什么是Zadig

相信有不少朋友已经听过Zadig,但是有更多的朋友还没有听过,或者说听过但是没仔细去了解过,这里我还是简单介绍一下什么是Zadig。

Zadig是一个持续交付的平台,它集CI、CD、自动化测试于一身,致力于构建一个云原生开源的软件交付平台。

使用Zadig,可以轻松地实现本地联调、微服务并行构建、集成测试与持续部署,开发可以更专注于业务开发、运维也可以更专注于稳定性维护。

部署

说了那么多,下面就进入正题,开始Zadig的使用之旅。

安装

其实Zadig的安装参考官方文档的安装篇就行。但是为了保持文章的完整性,我这里简单介绍一下。

下面是我的环境说明:

Kubernetes:v1.18.8Helm:v3.5.4Linux:CentOS 7.9PS:我这里是基于现有的Kubernetes,使用Helm进行安装部署。安装MySQL

为什么要安装MySQL呢?

使用Zadig默认的安装方式,安装的MySQL是8. 版本,而且有时候死活起不来(踩过坑,没找到起不来的原因),所以我不论是在生产使用还是在测试环境测试都是自己安装的MySQL 5.7的版本,当然,你们需要根据自己的实际情况进行选择。

(1)添加MySQL的Helm repo

$ helm repo add stable https://charts.helm.sh/stable

(2)下载MySQL chart包到本地(我个人习惯,随君选择)

$ helm pull stable/mysql --version 1.6.9

(3)自定义value.yaml文件

mysqlUser: root@%

mysqlPassword: Joker@Zadig123

persistence:

enabled: true

storageClass: "rbd"

accessMode: ReadWriteOnce

size: 50Gi

configurationFiles:

mysql.cnf: |-

[mysql]

default-character-set=utf8

[mysql.server]

default-character-set=utf8

[mysqld_safe]

default-character-set=utf8

[client]

default-character-set=utf8

[mysqld]

character_set_server=utf8

init_connect=SET NAMES utf8

max_connections=3000

slow_query_log=ON

slow_query_log_file=/tmp/mysql-slow.log

long_query_time=1

sql_mode=NO_UNSIGNED_SUBTRACTION,NO_ENGINE_SUBSTITUTION

lower_case_table_names=1

(4)安装MySQL

$ kubectl create ns zadig

$ helm install mysql -n zadig -f my-vaule.yaml .

(5)安装完成过后查看MySQL安装情况

$ kubectl get all -n zadig | grep mysql

pod/mysql-6b64454fd9-nhlqd 2/2 Running 1 57d

service/mysql LoadBalancer 10.233.7.155 192.168.100.81 3306:32703/TCP,9104:32514/TCP 57d

deployment.apps/mysql 1/1 1 1 57d

replicaset.apps/mysql-6b64454fd9 1 1 1 57d安装Zadig

上面已经安装好了MySQL,下面就开始安装Zadig(其他的组件就用Zadig自带的,目前使用起来没发现任何问题)。

(1)添加Zadig Helm Chart。

$ helm repo add koderover-chart https://koderover.tencentcloudcr.com/chartrepo/chart

(2)下载Zadig Chart包 我这里先下载v1.11.0版本,因为后续还准备了一个升级的过程。

$ helm pull koderover-chart/zadig --version 1.11.0

(3)自定义value.yaml文件,主要是修改mysql的配置。

tags:

mysql: false

connections:

mysql:

host: mysql:3306

auth:

user: root

password: Joker@Zadig123

dex:

config:

storage:

type: mysql

config:

host: mysql

port: 3306

database: dex

user: root

password: Joker@Zadig123

ssl:

mode: "false"

(4)安装Zadig 官方指出可以使用域名或者IP访问,我这里采用的是域名。

$ export NAMESPACE=zadig

$ export DOMAIN=zadig.jokerbai.com

$ helm upgrade --install zadig . -f my-value.yaml --namespace ${NAMESPACE} --version=1.10.0 --set endpoint.FQDN=${DOMAIN} --set global.extensions.extAuth.extauthzServerRef.namespace=${NAMESPACE} --set "dex.config.staticClients[0].redirectURIs[0]=http://${DOMAIN}/api/v1/callback,dex.config.staticClients[0].id=zadig,dex.config.staticClients[0].name=zadig,dex.config.staticClients[0].secret=ZXhhbXBsZS1hcHAtc2VjcmV0"

(5)查看安装情况。

$ kubectl get pod -n zadig

NAME READY STATUS RESTARTS AGE

aslan-5d6b86ccdf-st7w9 2/2 Running 0 10d

config-7d6654fb8-xcfmk 1/1 Running 0 10d

cron-67f77f54bc-fvrgp 2/2 Running 0 10d

dind-0 1/1 Running 0 49d

discovery-68d76c5bf4-nrl5r 1/1 Running 0 57d

gateway-645958c96c-gnltp 1/1 Running 0 57d

gateway-proxy-5d6bcc677f-njvdk 1/1 Running 0 57d

gloo-7955b997b-br9m2 1/1 Running 0 57d

hub-server-7b5cc9bdb6-t6zkw 1/1 Running 0 10d

mysql-6b64454fd9-nhlqd 2/2 Running 1 57d

nsqlookup-0 1/1 Running 0 57d

nsqlookup-1 1/1 Running 0 57d

nsqlookup-2 1/1 Running 0 57d

opa-69d5c669f6-s784f 1/1 Running 0 57d

picket-55685b94d9-czm7b 1/1 Running 0 10d

podexec-868c677548-mks74 1/1 Running 0 10d

policy-5c5bd995c8-pfxnp 1/1 Running 0 10d

resource-server-c87c4cddd-ptq45 1/1 Running 0 10d

user-77b5585554-n2cm4 1/1 Running 0 10d

warpdrive-55c46595d5-hvkc2 2/2 Running 0 10d

warpdrive-55c46595d5-mn9d8 2/2 Running 0 10d

zadig-dex-d9df5944f-vgdkc 1/1 Running 0 10d

zadig-minio-5c576d44c8-rnkmp 1/1 Running 0 57d

zadig-mongodb-6dfb6f676f-9v5rq 1/1 Running 0 57d

zadig-portal-69d8f946b8-wqrpz 1/1 Running 0 10d

然后可以根据域名http://zadig.jokerbai.com进行访问。

使用Zadig从0到1搭建持续交付平台插图1亿华云

使用账号密码

THE END
Copyright © 2024 亿华云