广州北京网站建设,自己怎么做网站网页,个人证书查询,wordpress怎么设置派送中GitOps 提供了一种基于 Git 的操作理念#xff0c;而 Tekton 和 ArgoCD 分别作为 CI/CD 工具#xff0c;共同实现了这一理念在 Kubernetes 集群中的应用
k8s只是jenkins 流水线中的一环#xff0c;但是在tekton中#xff0c;k8s是基础设施
工作流程#xff1a;
代码提交…GitOps 提供了一种基于 Git 的操作理念而 Tekton 和 ArgoCD 分别作为 CI/CD 工具共同实现了这一理念在 Kubernetes 集群中的应用
k8s只是jenkins 流水线中的一环但是在tekton中k8s是基础设施
工作流程
代码提交开发人员提交代码到 Git 仓库。CI 流程通过 Tekton 实现Tekton 触发构建流水线编译代码、运行测试、构建 Docker 镜像并将其推送到镜像仓库。CD 流程通过 GitOps 和 Argo CD 实现Tekton 更新 Git 仓库中的声明性配置如 Kubernetes YAML 文件Argo CD 检测到配置的变化后将新的版本自动部署到 Kubernetes 集群中。
1. tekton
Tekton入门部署 装的时候有两条漏网之鱼
vim TektonCD-Pipelines.yaml # 改下下面,去掉后面的sha256.我这里没删是为了留个纪念
#jiangmaoxi/base:latest 把这个改成 alpine:3.12 把别的sha256删掉只留tag就行了要不它总重新pull镜像# This is gcr.io/google.com/cloudsdktool/cloud-sdk:302.0.0-slim-gsutil-image, jiangmaoxi/cloud-sdk:latestsha256:27b2c22bf259d9bc1a291e99c63791ba0c27a04d2db0a43241ba0f1f20f4067f,# The shell image must be root in order to create directories and copy files to PVCs.# gcr.io/distroless/base:debug as of February 17, 2022# image shall not contains tag, so it will be supported on a runtime like cri-o-shell-image, jiangmaoxi/base:latestsha256:3cebc059e7e52a4f5a389aa6788ac2b582227d7953933194764ea434f4d70d64,
skopeo copy --all docker://gcr.io/google.com/cloudsdktool/cloud-sdk docker://jiangmaoxi/cloud-sdk
skopeo copy --all docker://gcr.io/distroless/base docker://jiangmaoxi/base有run才能跑。step组成tasktask组成pipeline。task和pipeline 都是 CRD
Tekton Triggers 是用于触发 CI/CD 流水线的组件。 它提供了一种机制可以根据外部事件如 Git 仓库中的代码提交、拉取请求或定时事件来自动触发 Pipelines 的执行。
创建ingress-nignx 当把上面这个部署ingress-nginx的yaml文件里的LoadBalance 改成NodePort后
kubectl get svc -n ingress-nginx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ingress-nginx-controller NodePort 10.233.13.142 none 80:31061/TCP,443:30608/TCP 133m
ingress-nginx-controller-admission ClusterIP 10.233.13.240 none 443/TCP 133m[rootmaster1 tekton]# cat tekton-dashboard-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: tekton-dashboard-ingressnamespace: tekton-pipelinesannotations:kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/rewrite-target: /
spec:rules:- host: tekton.example.comhttp:paths:- path: /pathType: Prefixbackend:service:name: tekton-dashboardport:number: 9097
然后在host里配置好 节点ip 域名。然后通过浏览器访问 http://域名: port
install tkn
tkn下载地址
tar -zxvf tkn_0.31.3_Linux_x86_64.tar.gz -C /usr/local/bin/ tkn
tkn version