如何在OpenShift群集中安装ArgoCD
[*]
/ *自定义CSS * /
.tdi_3_e64.td-a-rec {
文本对齐:居中;
} .tdi_3_e64 .td-element-style {
z索引:-1;
} .tdi_3_e64.td-a-rec-img {
文字对齐:左;
} .tdi_3_e64.td-a-rec-img img {
保证金:0自动0 0;
} @Media(最大宽度:767px){
.tdi_3_e64.td-a-rec-img {
文本对齐:居中;
}
}
这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。
将指南下载为PDF
关
这是续集。
这是续集。
这是续集。
如果将警报模式用于应用程序开发和部署自动化趋势,则应阅读有关GitOps的信息。 GitOps是用于云本机应用程序的连续部署方法。它专注于以开发人员为中心的基础架构操作,并使用开发人员已经熟悉的工具,例如Git和持续部署工具。
Argo CD是用于Kubernetes的声明性GitOps连续交付工具。那是 GitOps 一种模式,它使用Git存储库作为事实来源来定义应用程序的所需状态。 ArgoCD要求对应用程序定义,配置和环境进行声明和版本控制。
Argo CD可在指定的目标环境中自动部署所需的应用程序状态。对于应用程序部署,您可以跟踪分支和标签更新,或者通过Git提交固定到特定版本清单。
[*]
/ *自定义CSS * /
.tdi_2_cac.td-a-rec {
文本对齐:居中;
} .tdi_2_cac .td-element-style {
z索引:-1;
} .tdi_2_cac.td-a-rec-img {
文字对齐:左;
} .tdi_2_cac.td-a-rec-img img {
保证金:0自动0 0;
} @Media(最大宽度:767px){
.tdi_2_cac.td-a-rec-img {
文本对齐:居中;
}
}
在OpenShift群集中安装ArgoCD
请按照以下步骤在OpenShift Container Platform上安装ArgoCD。
步骤1:创建项目名称空间
ArgoCD必须在该名称空间中运行。创建它:
--- With oc command ---
$ oc create namespace argocd
--- With kubectl command ---
$ kubectl create namespace argocd
您必须配置kubectl才能运行命令。请参阅下面的指南。
使用kubectl和kubectx轻松管理多个Kubernetes集群
步骤2:将ArgoCD清单应用于OpenShift
然后,您可以运行安装清单以使用OpenShift进行ArgoCD的实际安装。
--- With oc command ---
mkdir argocd
cd argocd
wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
oc apply -n argocd -f ./install.yaml
--- With kubectl command ---
mkdir argocd
cd argocd
wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl apply -n argocd -f ./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-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
广告连播将在几秒钟或几分钟内启动。
$ oc get pods -n argocd
NAME READY STATUS RESTARTS AGE
argocd-application-controller-56cc786677-jmlr7 1/1 Running 0 110s
argocd-dex-server-9755c5c9c-mpg8g 1/1 Running 0 110s
argocd-redis-8c568b5db-r6ffj 1/1 Running 0 110s
argocd-repo-server-778f98fc8f-7gttj 1/1 Running 0 110s
argocd-server-7696cd5f89-v66rn 1/1 Running 0 110s
将Dex中使用的图像替换为包含OpenShift连接器的图像。
oc -n argocd patch deployment argocd-dex-server -p '{"spec": {"template": {"spec": {"containers": [{"name": "dex","image": "quay.io/redhat-cop/dex:v2.22.0-openshift"}]}}}}'
通过运行以下命令来验证更新的Dex Pod是否正在运行。
oc get pods -l=app.kubernetes.io/name=argocd-dex-server
步骤3:获取ArgoCD服务器的密码
确认所有Pod都在运行后,您将获得自动生成的ArgoCD服务器的初始密码。
ARGOCD_SERVER_PASSWORD=$(oc -n argocd get pod -l "app.kubernetes.io/name=argocd-server" -o jsonpath='{.items[*].metadata.name}')
确认密码已保存。
$ echo $ARGOCD_SERVER_PASSWORD
argocd-server-7696cd5f99-v86rn
步骤4:使用OpenShift Route发布ArgoCD服务器
为了通过OpenShift根目录公开服务,OpenShift必须修补ArgoCD服务器部署。
oc -n argocd patch deployment argocd-server -p '{"spec":{"template":{"spec":{"$setElementOrder/containers":[{"name":"argocd-server"}],"containers":[{"command":["argocd-server","--insecure","--staticassets","/shared/app"],"name":"argocd-server"}]}}}}'
你应该得到 已修补 如果成功,则输出。
deployment.apps/argocd-server patched
接下来,发布ArgoCD服务器。
oc -n argocd create route edge argocd-server --service=argocd-server --port=http --insecure-policy=Redirect
确认路由已创建。
$ oc get route -n argocd
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
argocd-server argocd-server-argocd.apps.mycluster.example.com argocd-server http edge/Redirect None
通过运行以下命令转到指定位置,验证您可以访问Web控制台。
echo https://$(oc get routes argocd -o=jsonpath='{ .spec.host }')
您可以即时编辑yaml设置以更新您的路线中使用的主机名。
$ oc edit route -n argocd
步骤5:下载Argo CD CLI
从下载最新版本的Argo CD 释放 页。
VERSION=$(curl --silent "https://api.github.com/repos/argoproj/argo-cd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/1/')
curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/download/$VERSION/argocd-linux-amd64
使argocd CLI可执行。
sudo chmod +x /usr/local/bin/argocd
检查客户端版本。
$ argocd version --client
argocd: v1.5.5+0fdef48
BuildDate: 2020-05-16T04:02:57Z
GitCommit: 0fdef4861e12026e133224f7c9413072340e2983
GitTreeState: clean
GoVersion: go1.14.1
Compiler: gc
Platform: linux/amd64
使用用户名 管理员 登录Argo CD IP或主机名的密码:
--- Get route ---
ARGOCD_ROUTE=$(oc -n argocd get route argocd-server -o jsonpath='{.spec.host}')
--- Get Admin password ---
ARGOCD_SERVER_PASSWORD=$(oc -n argocd get pod -l "app.kubernetes.io/name=argocd-server" -o jsonpath='{.items[*].metadata.name}')
--- Login to ArgoCD API ---
argocd --insecure --grpc-web login ${ARGOCD_ROUTE}:443 --username admin --password ${ARGOCD_SERVER_PASSWORD}
使用以下命令更改密码:
argocd --insecure --grpc-web --server ${ARGOCD_ROUTE}:443 account update-password --current-password ${ARGOCD_SERVER_PASSWORD} --new-password
步骤6:访问ArgoCD仪表板
然后,您可以使用根URL访问ArgoCD控制台。
登录凭据是
用户名: 管理员
初始密码可以通过以下方法获得。
kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o name | cut -d'/' -f 2
登录后,将显示ArgoCD仪表板。
步骤7:将ArgoCD与OpenShift身份验证集成
我读 OpenShift身份验证与ArgoCD的集成 完全集成指南。
有关如何使用ArgoCD GitOps工具部署应用程序的说明,请参阅ArgoCD文档页面。另一个有用的资源是 入门 页。
其他Kubernetes / OpenShift文章:
如何使用Kompose将Docker Compose应用程序迁移到Kubernetes
使用Kubernetes / OpenShift运行Rook的Ceph工具箱
将Harbor Image Registry Pull Secret添加到Kubernetes / OpenShift
如何在OpenShift和Kubernetes中检查Pod /容器指标
这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。
将指南下载为PDF
关
这是续集。
这是续集。
这是续集。
[*]
/ *自定义CSS * /
.tdi_4_570.td-a-rec {
文本对齐:居中;
} .tdi_4_570 .td-element-style {
z索引:-1;
} .tdi_4_570.td-a-rec-img {
文字对齐:左;
} .tdi_4_570.td-a-rec-img img {
保证金:0自动0 0;
} @Media(最大宽度:767px){
.tdi_4_570.td-a-rec-img {
文本对齐:居中;
}
}