Helm安装argocd

ArgoCD 是一个用于 Kubernetes(K8s)的声明式、GitOps 持续交付工具。可以将 Git 仓库/Helm仓库/OCI仓库作为应用程序部署状态的唯一真实来源。

核心路径 开发者推送配置变更 -> 仓库(Git/Helm/OCI仓库) -> ArgoCD(监控到差异) -> K8s 集群(自动同步为目标状态

  • **声明式定义。**在实践 GitOps 时,需要将应用的所有 K8s 配置(Deployment、Service、ConfigMap 等)都存放在 Git 仓库中,这个仓库里的状态就是期望状态,并通过 ArgoCD 来管理应用的部署。对于部署配置,可以直接存放 yaml 文件,也可以使用 Helm Chart 包,ArgoCD 能够自动识别资源类型。

自动同步 ArgoCD 部署在 K8s 集群内,会持续监控你指定的 Git 仓库。一旦发现仓库里的期望状态与集群中的实际状态有差异,它就会自动或手动触发同步,把集群调整到 Git 仓库定义的状态。

偏离检测与自愈 如果有人在集群里直接修改了某个应用副本数,ArgoCD 会立刻检测到这个偏离,并将其展示出来。根据配置,它可以自动将集群恢复为 Git 里定义的正确状态,像一个不可变的安全卫士。h

关键优势 可视化管理:提供 Web UI 和 CLI,能以树状或图状直观看到所有应用的部署状态、资源层级和同步健康情况。

多集群支持:一个 ArgoCD 实例就能向多个 K8s 集群部署应用,非常适合同构多云或混合云管理。

回滚无忧:回滚就是一次 Git revert,所有变更历史都记录在 Git 提交日志里。

安全可靠:无需向开发者暴露 K8s 集群凭证,所有变更都通过 Git 发起,可集成 CI 流程做 lint、单测、安全扫描等检查。

丰富的部署策略:原生支持蓝绿部署、金丝雀发布(通过 Argo Rollouts)、多阶段渐进式交付等高级功能。

kubectl create namespace argocd

kubectl apply -n argocd –server-side –force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

获取默认的用户名密码

  • 用户名:admin
  • 密码:kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d zhaowenyu@zhaowenyudeMacBook-Pro argocd %

kubectl create namespace argocd

kubectl apply -n argocd –server-side –force-conflicts -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

获取默认的用户名密码

  • 用户名:admin
  • 密码:kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

通过ingress访问argocweb

% cat argocd-ing.yml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: argocd-server-ingress namespace: argocd annotations: # Traefik 专用的 SSL Passthrough 注解 traefik.ingress.kubernetes.io/router.tls: “true” spec: ingressClassName: traefik rules: - host: argocd.cncfstack.com http: paths: - path: / pathType: Prefix backend: service: name: argocd-server port: number: 443 tls: - hosts: - argocd.cncfstack.com

[root@ceph-mon rancher]# kubectl  -n argocd get pod
NAME                                                READY   STATUS    RESTARTS      AGE
argocd-application-controller-0                     1/1     Running   1 (18h ago)   45h
argocd-applicationset-controller-77497b89df-gc9pm   1/1     Running   1 (18h ago)   45h
argocd-dex-server-7c874c5958-vqvgs                  1/1     Running   1 (18h ago)   45h
argocd-notifications-controller-6c5f7c5dcc-nkbrt    1/1     Running   1 (18h ago)   45h
argocd-redis-798565fd74-c2spd                       1/1     Running   1 (18h ago)   45h
argocd-repo-server-59d57b7dcc-vr7g6                 1/1     Running   3 (18h ago)   45h
argocd-server-7c8986577c-c6chs                      1/1     Running   1 (18h ago)   45h