【DevOps】Azure Kubernetes 服务 (AKS) 集群中安装ArgoCD
推荐超级课程:
@TOC
Argo CD 是一个声明式的 GitOps 持续交付工具,用于 Kubernetes。它允许您使用 Kubernetes 清单定义应用程序的期望状态,并自动与您的集群同步。Argo CD 还提供了一个 Web UI 和 CLI,用于监控和管理您的部署。
要在 Azure 上安装 Argo CD,您需要具备以下先决条件:
- Azure 订阅和活跃的 Azure 账户
- 至少有两个节点且启用了 RBAC 的 Azure Kubernetes 服务 (AKS) 集群
- 在本地计算机上安装了 Azure CLI 和 kubectl 命令行工具
- 在本地计算机上安装了 Helm 包管理器
安装步骤如下:
- 创建 AKS 集群,设置如下:
- 使用以下命令登录到创建 AKS 集群的订阅:
az account set –subscription <subscription-id>
- 在集群内安装 ArgoCD Kubernetes 命名空间提供了集群内 Pod、服务和部署的范围。这确保了在一个命名空间内工作的用户无法看到另一个命名空间的内容。在 Kubernetes 集群中,命名空间有助于划分资源并隔离工作负载,充当物理集群内的虚拟集群。这使得多个团队或项目可以独立运行。
在集群内安装 ArgoCD:
- 为 ArgoCD 创建一个命名空间:
kubectl create namespace argocd
- 在创建的命名空间中安装 ArgoCD:
kubectl apply -n argocd -f [URL]
URL → https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
- ArgoCD 资源已创建。要检查 Pod 的状态,请使用以下命令:
kubectl get pods -n argocd
ArgoCD 将监控 Git 仓库中的任何更改。如果检测到更改,ArgoCD 将自动更新 GitOps 工具。这些更改将在 Kubernetes 集群中反映出来。
要登录到 ArgoCD 平台,请按照以下步骤操作:
- 检索密钥:
kubectl get secrets -n argocd
- 密钥是存储敏感信息的对象,例如 Pod 用于访问服务的凭据。
kubectl edit secret argocd-initial-admin-secret -n argocd
在 argocd-initial-admin-secret 文件中找到密码。
解密密码
echo <secret> | base64 -d
Base64 是一种编码和解码技术,用于将二进制数据转换为 ASCII 文本格式,反之亦然。
使用管理员密码访问 ArgoCD UI。
检索服务信息:
kubectl get svc -n argocd
服务是一个抽象,代表一组逻辑 Pod 和访问它们的策略。每个 Pod 都有一个唯一的 IP 地址,如果没有服务,则不会在集群外部公开。
编辑 ArgoCD 服务器服务:
kubectl edit svc argocd-server -n argocd
- ClusterIP:用于同一 Kubernetes 集群内 Pod 之间的通信。
- NodePort 和 LoadBalancer 服务:用于集群内应用程序与集群外客户端之间的通信。
- 保存更改并再次运行服务命令:
kubectl get svc -n argocd
节点端口已更改。
- 获取节点端口 IP 地址:
kubectl get nodes -o wide
- 检索节点端口外部 IP 地址。
- IP 地址:171.177.146.175
- 端口号:31419
- 如果访问 171.177.146.175:31419 无法正常工作,请在 Azure 安全组中允许该端口:
- 转到 VMSS → 实例 → 网络 → 添加入站规则 → 添加端口