暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

云原生前沿手札丨一文看懂如何应用 GitOps 深化 DevOps 开发

Azure云科技 2023-03-30
387

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 更多内容。




文章转载自Azure云科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论