aks使用
aks 使用背景公司使用azure提供的k8s托管服务,即aks服务。所以学习了一下aks的一些知识。
azure cli的部署安装什么是 Azure CLI?Azure 命令行接口 (CLI) 是一个跨平台的命令行工具,可连接到 Azure 并对 Azure 资源执行管理命令。 它允许使用交互式命令行提示符或脚本通过终端执行命令。可以在 Linux、Mac 或 Windows 计算机上本地安装 Azure CLI。 还可以通过 Azure Cloud Shell 在浏览器中使用,或者从 Docker 内部运行。
安装在 Linux 上安装 Azure CLI12345678sudo rpm --import https://packages.microsoft.com/keys/microsoft.ascecho -e "[azure-cli]name=Azure CLIbaseurl=https://packages.microsoft.com/yumrepos/azure-clienabled=1gpgcheck=1gpgkey=https://packages. ...
trivy
trivy 扫描工具踩坑记录介绍trivy 是一个镜像扫描工具,用于扫描 docker image 是否有漏洞。现在最新版本不仅支持 image 扫描,也有了其他功能。
基础使用1234567891011# 扫描镜像,并按照模板内容输出json格式trivy image --exit-code 0 --server $TRIVY_SERVER --username $HARBOR_USER --password $HARBOR_PASS --format template --template "@/contrib/gitlab.tpl" --output "$TRIVY_CACHE_DIR/dotnet-scanning-report.json" $IMAGE_NAME_DOTNET:$IMAGE_VERSION # 扫描镜像,输出内容到控制台trivy image --exit-code 0 --cache-dir /db/cache --skip-db-update --username $HARBOR_USER --pas ...
helm基础
helm基础简介Helm 是 Kubernetes 的包管理器,类似 python 的 pip 和 centos 中的 yum。具体文档可以看这个: helm.sh 。
使用的先决条件
一个 Kubernetes 集群
确定你安装版本的安全配置
安装和配置 Helm
安装
可以通过系统的包管理器安装,比如 apt 或者 dnf。
也可以通过下述方法安装:
123curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3chmod 700 get_helm.sh./get_helm.sh
也可以直接下载 Canary 构建。这些不是官方版本,可能不稳定。但是这提供测试边缘特性的条件。地址如下:
linux
macos
windows
使用三个基本概念Chart 代表着 Helm 包。它包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RP ...
使用gitlab的cicd功能实现代码自动打包部署-2
使用gitlab的cicd功能实现代码自动打包部署-2背景书接上回使用gitlab的cicd功能实现代码自动打包部署,之前只是完成了构建的功能,并没有部署的功能,这里将继续完成部署的部分。本文主要是作为一个记录,具体的基础知识,比如 helm , trivy 等单独记录。
基于上文的一些修改
将两个项目合并到了一起,用来模拟一个微服务架构下的两个服务。
为两个项目都配置了一个 api 接口 /api/health , 这个接口的返回值是 {"version":"xxxxx"} ,其中 xxx 是 gitlab 中 cicd 的 pipelineid,用于健康检查。
添加helm部署因为通过 cicd,将代码打包成了 docker image,后续如果想要部署,就要依托于容器生态。这里使用 helm 进行部署。helm 相关信息可以看这个文档,写的比较好,后续我也会根据自己理解写一个小的笔记。具体实现中,我们只需要按照 helm chart 的格式将我们的 chart 写好,然后使用 helm install 或者 he ...
使用gitlab的cicd功能实现代码自动打包部署
使用 gitlab 的 cicd 功能实现代码自动打包部署背景及大体思路说明本文主要是作为一个记录,具体的基础知识,比如 helm , trivy 等单独记录。
以往代码库使用的是 gogs ,cicd 过程使用的是 Jenkins ,如果想推送代码后自动构建需要进行 webhook 之类的配置。集成度更高一点的 gitlab,GitHub 等仓库现在都自带构建功能。新公司使用的是 gitlab,所以研究一下。感官上类似于 teamcity 的使用感觉。添加好流程之后,会选择可用的 agent 来进行构建。
构建大体流程也是类似的,在 pipeline 中定义构建,测试,发布的流程。agent 根据不同的流程完成不同的任务。
下边就以 python 项目和 asp.net 项目为例,记录一下研究过程。
基础环境搭建本次并没搭建基础环境,gitlab,sonar,harbor 等都是配置好的。
项目配置在创建项目后,需要在项目的 cicd 设置中进行一些配置。
配置runnerrunner 个人理解类似于 teamcity 的 agent ,区别在于 teamcity 我使用的过程中发 ...