首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Argo CD系列视频图文版之安装 argocd 并运行示例

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

作者头像
LinuxSuRen
发布2021-12-28 16:31:13
1.4K0
发布2021-12-28 16:31:13
举报
文章被收录于专栏:JenkinsJenkins

开篇

本期视频,我们来在试验环境中安装 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 argocd

NAME                 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-ingress
  namespace: argocd
  annotations:
    kubernetes.io/tls-acme: "true"
    kubernetes.io/ingress.class: nginx
    nginx.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.fun
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: argocd-server
            port:
              name: https
  tls:
  - hosts:
    - monday.automan.fun
    secretName: argocd-secret

4. 查看服务器导出地址

kubectl get ingress -n argocd

NAME                    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-guestbookguestbook 命名空间

“注: 如果目标命名空间不存在,需勾选 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: guestbook
  name: kustomize-guestbook-ui
  namespace: guestbook
  resourceVersion: "492594"
  selfLink: /api/v1/namespaces/guestbook/services/kustomize-guestbook-ui
  uid: 40c30cd5-5743-4c86-a2af-3338d9d0a2d0
spec:
  clusterIP: 10.233.5.15
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: guestbook-ui
  sessionAffinity: None
  type: NodePort # 修改此处

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

“http://10.10.17.90:30021 ”

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

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

参考资料

[1]

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Jenkins 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开篇
  • 1. 应用 ArgoCD 配置清单
  • 2. 查看部署配置
  • 3. 配置 ingress
  • 4. 查看服务器导出地址
  • 5.配置 hosts 解析域名
  • 获取管理员密码
  • 部署 demo
    • 1.创建应用
      • 2.导出应用服务
        • 参考资料
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档