欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

Argo CD系列视频图文版之安装 argocd 并运行示例

发布时间:2023/12/20 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Argo CD系列视频图文版之安装 argocd 并运行示例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

开篇

本期视频,我们来在试验环境中安装 ArgoCD,然后跑个官方 demo,带大家初步感受下 ArgoCD 的功能。

配套视频

安装 ArgoCD

ArgoCD 的部署,也可以通过官方提供的 Helm Chart 直接部署,但为了让大家了解更多的底层逻辑,咱们直接使用官方提供的配置清单安装。

1. 应用 ArgoCD 配置清单

kubectl create namespace argocd  kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

2. 查看部署配置

kubectl get deploy -n argocdNAME                 READY   UP-TO-DATE   AVAILABLE   AGE argocd-dex-server    1/1     1            1           46m argocd-redis         1/1     1            1           46m argocd-repo-server   1/1     1            1           46m argocd-server        1/1     1            1           46m

3. 配置 ingress

apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: argocd-server-ingressnamespace: argocdannotations:kubernetes.io/tls-acme: "true"kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/force-ssl-redirect: "true"nginx.ingress.kubernetes.io/ssl-passthrough: "true"nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" spec:rules:- host: monday.automan.funhttp:paths:- path: /pathType: Prefixbackend:service:name: argocd-serverport:name: httpstls:- hosts:- monday.automan.funsecretName: argocd-secret

4. 查看服务器导出地址

kubectl get ingress -n argocdNAME                    CLASS    HOSTS                ADDRESS       PORTS     AGE argocd-server-ingress   <none>   monday.automan.fun   10.10.14.91   80, 443   3m18s

5.配置 hosts 解析域名

10.10.14.91 monday.automan.fun

配置好后,访问 monday.automan.fun 即可进入登录页。

注:细心的同学可能已经注意到,虽然 ingress 中配置了 https 协议,但浏览器仍然显示链接非安全。那是因为 argocd-secret 中存储的证书,是 ArgoCD 生成的自签证书,浏览器不信任。想要获得安全连接,可以使用浏览器信任的域名证书替换即可。

获取管理员密码

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

部署 demo

1.创建应用

argocd-example-apps.git[1]

基于 ArgoCD 官方示例仓库,部署 kustomize-guestbook 到 guestbook 命名空间

注: 如果目标命名空间不存在,需勾选 AUTO CREATE NAMESPACE

2.导出应用服务

修改 guestbook 命令空间下的 service 类型,由 ClusterIp 变更为 NodePort

apiVersion: v1 kind: Service metadata:annotations:kubectl.kubernetes.io/last-applied-configuration: |{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app.kubernetes.io/instance":"guestbook"},"name":"kustomize-guestbook-ui","namespace":"guestbook"},"spec":{"ports":[{"port":80,"targetPort":80}],"selector":{"app":"guestbook-ui"}}}creationTimestamp: "2021-09-09T11:52:45Z"labels:app.kubernetes.io/instance: guestbookname: kustomize-guestbook-uinamespace: guestbookresourceVersion: "492594"selfLink: /api/v1/namespaces/guestbook/services/kustomize-guestbook-uiuid: 40c30cd5-5743-4c86-a2af-3338d9d0a2d0 spec:clusterIP: 10.233.5.15ports:- port: 80protocol: TCPtargetPort: 80selector:app: guestbook-uisessionAffinity: Nonetype: NodePort # 修改此处

导出服务后,即可通过主机节点IP 地址加端口访问应用服务。

http://10.10.17.90:30021

结束语

ArgoCD 的安装部署,看似很麻烦,实际上整个思路还是比较清晰的。ArgoCD 的 UI 是极简主义风格的,一些管理员功能未在前端中体现,也是出于安全的角度考虑。

下期视频,我将带领大家在 github 上创建仓库,咱们自己动手,跑个样例出来。

遇到问题不要慌,我们还有社区支持。最后不要忘记点赞哦 !!!

参考资料

[1]

argocd-example-apps.git: https://github.com/argoproj/argocd-example-apps.git

总结

以上是生活随笔为你收集整理的Argo CD系列视频图文版之安装 argocd 并运行示例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。