首页 > 其他分享 >Argo CD安装配置

Argo CD安装配置

时间:2023-01-25 11:55:09浏览次数:52  
标签:k8s argocd server io Argo CD 安装

安装Argo CD

单独为Argo CD创建命名空间argocd,命令如下所示。

$ kubectl create namespace argocd
namespace/argocd created

使用以下命令将Argo CD部署到argocd命名空间下。

$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
customresourcedefinition.apiextensions.k8s.io/applications.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/appprojects.argoproj.io created
serviceaccount/argocd-application-controller created
serviceaccount/argocd-dex-server created
serviceaccount/argocd-server created
role.rbac.authorization.k8s.io/argocd-application-controller created
role.rbac.authorization.k8s.io/argocd-dex-server created
role.rbac.authorization.k8s.io/argocd-server created
clusterrole.rbac.authorization.k8s.io/argocd-application-controller created
clusterrole.rbac.authorization.k8s.io/argocd-server created
rolebinding.rbac.authorization.k8s.io/argocd-application-controller created
rolebinding.rbac.authorization.k8s.io/argocd-dex-server created
rolebinding.rbac.authorization.k8s.io/argocd-server created
clusterrolebinding.rbac.authorization.k8s.io/argocd-application-controller created
clusterrolebinding.rbac.authorization.k8s.io/argocd-server created
configmap/argocd-cm created
configmap/argocd-gpg-keys-cm created
configmap/argocd-rbac-cm created
configmap/argocd-ssh-known-hosts-cm created
configmap/argocd-tls-certs-cm created
secret/argocd-secret created
service/argocd-dex-server created
service/argocd-metrics created
service/argocd-redis created
service/argocd-repo-server created
service/argocd-server-metrics created
service/argocd-server created
deployment.apps/argocd-application-controller created
deployment.apps/argocd-dex-server created
deployment.apps/argocd-redis created
deployment.apps/argocd-repo-server created
deployment.apps/argocd-server created

查看Argo CD所有Deployment部署的运行状态,如下所示。

$ kubectl -n argocd get deployment
NAME                            READY   UP-TO-DATE   AVAILABLE   AGE
argocd-application-controller   1/1     1            1           2m41s
argocd-dex-server               1/1     1            1           2m41s
argocd-redis                    1/1     1            1           2m41s
argocd-repo-server              1/1     1            1           2m41s
argocd-server                   1/1     1            1           2m41s

Argo CD中每个Deployment部署的职责如下所示。

  • argocd-application-controller:Application Controller组件。
  • argocd-dex-server:Argo CD集成Dex service用于将身份验证委托给外部提供者,更多关于Dex的介绍请访问Dex社区(https://github.com/dexidp/dex)进行了解。
  • argocd-redis:Argo CD集成Redis服务,用于临时缓存,缓存丢失并不会影响Argo CD的正常工作。
  • argocd-repo-server:Repository Server组件。
  • argocd-server:API Server组件。

Argo CD的访问方式

用户可以使用Web UI或者CLI方式访问Argo CD。

1. 使用CLI访问Argo CD

下载并安装Argo CD CLI工具,Linux系统和Mac OS系统下对应不同的二进制可执行文件。

Linux系统安装命令如下所示。

$ VERSION=$(curl --silent "https://api.github.com/repos/argoproj/argocd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
$ curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argocd/releases/download/$VERSION/argocd-linux-amd64
$ chmod  +x /usr/local/bin/argocd

Mac OS系统安装命令如下所示。

$ VERSION=$(curl --silent "https://api.github.com/repos/argoproj/argocd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
$ curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argocd/releases/download/$VERSION/argocd-darwin-amd64
$ chmod +x /usr/local/bin/argocd

使用以下命令检查CLI是否正常执行。

$ argocd version
argocd: v1.7.4+f8cbd6b
  BuildDate: 2020-09-05T02:44:27Z
  GitCommit: f8cbd6bf432327cc3b0f70d23b66511bb906a178
  GitTreeState: clean
  GoVersion: go1.14.1
  Compiler: gc
  Platform: linux/amd64
FATA[0000] Argo CD server address unspecified

CLI访问Argo CD之前需要使用用户名和密码进行登录,默认的内置用户名是admin,初始密码为Argo CD API Server Pod的名字,可以使用如下命令获取初始密码。

$ kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2
argocd-server-cf8dbb7bd-n5zrv

获取Argo CD API Server服务访问端点,命令如下所示。

$ kubectl get svc -n argocd -l app.kubernetes.io/name=argocd-server |grep argocd-server
argocd-server   ClusterIP   172.27.8.59   <none>        80/TCP,443/TCP   26m

使用用户名密码登录Argo CD系统。

$ argocd login 172.27.8.59
WARNING: server certificate had error: x509: cannot validate certificate for 172.27.8.59 because it doesn't contain any IP SANs. Proceed insecurely (y/n)? y
Username: admin
Password:
'admin' logged in successfully
Context '172.27.8.59' updated

再次使用Argo CD CLI命令查看客户端和服务端的版本信息,若都能正确输出信息则说明客户端和服务端正常工作。

$ argocd version
argocd: v1.7.4+f8cbd6b
  BuildDate: 2020-09-05T02:44:27Z
  GitCommit: f8cbd6bf432327cc3b0f70d23b66511bb906a178
  GitTreeState: clean
  GoVersion: go1.14.1
  Compiler: gc
  Platform: linux/amd64
argocd-server: v1.7.3+b4c79cc
  BuildDate: 2020-09-01T23:19:02Z
  GitCommit: b4c79ccb88173604c3786dcd34e83a9d7e8919a5
  GitTreeState: clean
  GoVersion: go1.14.1
  Compiler: gc
  Platform: linux/amd64
  Ksonnet Version: v0.13.1
  Kustomize Version: {Version:kustomize/v3.6.1 GitCommit:c97fa946d576eb6ed559f17f2ac43b3b5a8d5dbd BuildDate:2020-05-27T20:47:35Z GoOs:linux GoArch:amd64}
  Helm Version: version.BuildInfo{Version:"v3.2.0", GitCommit:"e11b7ce3b12db2941e90399e874513fbd24bcb71", GitTreeState:"clean", GoVersion:"go1.13.10"}
  Kubectl Version: v1.17.8

使用以下命令可以更新Argo CD系统中admin用户的密码。

$ argocd account update-password
*** Enter current password:
*** Enter new password:
*** Confirm new password:
Password updated
Context '172.27.8.59' updated

Argo CD默认只支持admin用户登录访问,更多关于Argo CD用户管理的内容请阅读7.3.1节。

2. 使用Web UI访问Argo CD

安装Argo CD后,API Server默认使用Kubernetes内部服务类型ClusterIP,如果想从Kubernetes集群外部访问API Server,则需要执行以下命令将服务类型改为LoadBalancer。

$ kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
service/argocd-server patched

或执行以下命令将服务类型改为NodePort。

$ kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'
service/argocd-server patched

在浏览器中访问Argo CD。使用用户名和密码登录后,直接跳转到应用面板。

卸载Argo CD

如果想从集群中卸载Argo CD,执行以下命令可删除Argo CD的所有资源。

$ kubectl delete -n argocd -f https://raw.githubusercontent.com/argoproj/argo-  cd/stable/manifests/install.yaml
$ kubectl delete ns argocd

标签:k8s,argocd,server,io,Argo,CD,安装
From: https://www.cnblogs.com/muzinan110/p/17066818.html

相关文章

  • 安装Hexo
    Hexo+Github搭建个人网站前言在下载Hexo之前,明确Hexo的搭建过程:1.安装Hexo2.配置Hexo主题并配置网站信息3.创建Github个人仓库并配置hexo关于Github的配置4.发布文......
  • Flask框架简介、安装及Hello World程序运行
    一、Flask简介Flask诞生于2010年,是用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用......
  • 类库项目无法安装某些nuget包
    确实有这种情况,微软的某些包只提供了早期版本,并不支持新版本nuget,不知他是怎么考虑的?可以直接在项目的csproj文件中直接添加,比如aspnetcore<ItemGroup><Framewor......
  • 下载和安装redis
    1-下载redishttps://redis.io/(这个是reids官网)建议什么东西都不要安装最新版本,不然后期和很多系统不能兼容暂时建议"redis-6.2.10"版本2-解压和配置:(我以我的......
  • JDK的删除与安装
    卸载JDK1.删除Java安装目录2.删除JAVA_HOME3.删除path下关于Java的目录4.Java-version查看 安装JDK1.百度搜索JDK8,找到下载地址2.同意协议3.下载电脑对应的版本......
  • mac的m芯片安装gup版本的pytroch,并链接到pycharm
    1下载anaconda安装ARM版的Ancondahttps://www.anaconda.com/products/distribution#Downloads查看是否安装成功condainfo成功则出现通过以下命令查看自己安装的......
  • 2023-1-24 WAMP wampserver3.3.0_x64 安装过程
    WAMP安装及橙变绿首先,在官网下载软件:https://sourceforge.net/projects/wampserver/ 安装目录我选择在D:\wamp,更改默认启动浏览器为Firefox,编辑器默认。安装成功后图......
  • MySQL HA(High Availability) 数据库高可用工具Orchestrator安装
    目录1.下载安装包2.安装backendMySQLserver3.在MySQL实例上授权4.启动orchestrator服务5.参考本文主要介绍如何在本地安装MySQLHA(HighAvailability)数据库高可用工......
  • 2023-1-24 WAMP与XAMPP同时安装在一台电脑上是否冲突?
    WAMP与XAMPP同时安装在一台电脑上是否冲突?会有冲突首先,Apache和MySQL都是服务,这里就有可能冲突,这是最大的问题;其次,才是Apache和MySQL监听端口冲突的问题,端口冲突都很......
  • 输出十六进制整数ABCDEF对应的十进制整数,所占域宽为15。
    备注:printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数。参考代码:#include<stdio.h>intmain(){  printf("%15d\n",0XABCDEF);  return0;}0XABCDEF......