

第 4 卷
Azure 云科技推出「云原生前沿手札」专栏 ,由全球多位微软专家执笔亲撰,讲解微软智能云 Azure 上那些神奇的开发黑科技,助力开发者事半功倍。
本期「云原生前沿手札」将为您介绍如何配置 Argo 并完成首次应用创建。
技术革新,思想先行
思潮形成文化,普及影响心智
DevOps 文化融合人员、流程与产品
GitOps 汇集最佳实践,以行动消弭开发孤岛
作为 GitOps 持续交付工具
Argo 全家桶更可简化 DevOps 开发
话不多说,我们该如何利用 Argo 与 Kubernetes 入门上手呢?先得搞定点后期升级打怪的“基础装备”:
入门所需命令行工具
⦿ Kubernetes binary (kubectl)
长按扫描右侧二维码查看

⦿ Argocd binary (argo)
长按扫描右侧二维码查看

⦿ Azure CLI(可选,建议使用)
长按扫描右侧二维码查看

⦿ 访问您的 AKS 群集
长按扫描右侧二维码查看

Argo 安装与连接配置
Azure Kubernetes 群集命令行环境设置后,需要采用‘kubectl’创建命名空间。
kubectl create namespace argocd
可用‘argocd’的命名空间,也可根据偏好命名
在创建命名空间之后,需要运行以下命令。
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
将 argocd 安装到‘argocd’命名空间
接下来,可创建多个自定义资源定义(CRD)、服务账户、网络策略、ConfigMap 以及其他 Kubernetes 对象。
kubectl create namespace argocd
如果希望检查所创建的资源,可以执行以上命令
若需访问 API 服务器,存在如下三种操作方式:
1.配置负载均衡器
为 argocd 服务器服务打补丁,将服务类型改为 LoadBalancer
2. 设置 Ingress 控制器
采用进入 IP 地址或 FQDN,但需了解配置的网络与路由
3. 采用端口转发功能
采用端口转发功能连接 Kubernetes 群集的‘argocd 服务器’服务
登录 Argo
完成上述配置后,下一步即是登录操作。
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
默认用户名是‘admin’,可以采用此命令找回密码
登录Argo,有两种方式可选:
1. CLI
若已安装必备的二进制 argocd,您只需在终端输入:`argocd login 127.0.0.1:8080`,然后输入:`admin`以及用前文命令找回的密码。
2. Web
从首选浏览器进入`http:localhost:8080`,然后输入用户名`admin`以及用前文命令找回的密码
该动手了!马上创建 Argo 应用
登录 Argo 后,即可开启 Argo 应用开发首秀咯!您若希望从 Git 版本库创建应用。在 Argo 环境中,创建一词实际上指部署。

(Web 登录界面)
创建应用有 CLI/UI 两种途径,若采用二进制 Argo、通过命令行创建应用,需要执行以下命令:
argocd app create guestbook --repo
https://github.com/argoproj/argocd-example-apps.git --path
guestbook --dest-server https://kubernetes.default.svc --dest-namespace default
在 Argo 内部配置样本应用后,同步该应用,从而将应用部署到 Kubernetes 群集
Web浏览器示例
1、首选 Web 浏览器内部登录到 Argo 后,点击“+ New App”按钮。

2、将应用命名为‘guestbook’并且使用默认项目。此时可以将同步策略设置为‘手动’。

3、将库 URL 设置为 GitHub 库 URL,保证示例库连接至 Argo;可将版本设置为‘HEAD’,设置路径为‘guestbook’。

对于‘目的地’,可从下拉列表选择`https://kubernetes.default.svc`选项,将命名空间设置为`default`。最后一步,点击屏幕上方的创建按钮在 Argo 中创建应用。

应用同步,创建资源
搞定应用创建后,可通过在 CLI 输入‘argocd app get guestbook’查看状态,或通过 Web 管理选项卡界面查看:
Web浏览器示例
1、初始应用同步状态、健康状态分别为‘OutOfSync’和‘Missing’,还未创建任何 Kubernetes 资源,这是因为虽然在 Argo 中创建了应用,但还得通知 Argo“部署”留言簿应用。

2、如需同步(部署)留言簿应用,可采用在命令行运行‘argocd app sync guestbook’,或点击 Web 浏览器应用同步按钮的方式。


3、Argo 中的同步命令,可从留言簿版本库找回样本 Kubernetes 清单。随后 Argo 将在后台执行‘kubectl apply’命令。此时,留言簿应用会开始在 AKS 群集中运行。

温馨提示
在完成 Argo 探索并且全面测试了 AKS 与 CD 技能后,需删除 AKS 群集和相关资源,以防任何未来意外收费。
结语
至此,如何配置 Argo 并完成首次应用创建,已经全程介绍完毕,可见 GitOps 实践能够与 DevOps 理念进行有机融合。开发者伙伴可以随时查阅 Microsoft 技术文档,获取GitOps for Azure Kubernetes Service 更多内容。






