尝试构建Argo CD的故事

这是什么?

以下是使用kubectl在argocd中创建的方法,作为备忘录进行记录。

做法 (yà fǎ)

创建命名空间

# kubectl create namespace argocd

如果要手动创建,请使用上述命令,在kustomization.yaml中批量创建时,您可以创建类似namespace.yaml的文件。

kind: Namespace
apiVersion: v1
metadata:
  name: argocd
  labels:
    name: argocd

安装创建文件时需要的文件。

公式说明中提到有两种类型的安装文件。
这次我们采用了Multi-Tenant,并下载了所述的install.yaml文件。
然后将文件名更改为argocd-install.yaml。

将文件放置

将下载的文件放置在类似以下目录结构的位置。

# tree
.
├── argocd-install.yaml
├── namespace.yaml
└── kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: argocd
resources:
- namespace.yaml
- https://raw.githubusercontent.com/argoproj/argo-cd/v2.0.4/manifests/ha/install.yaml

移動到要执行的目录,执行以下命令。

# kubectl apply -k .
customresourcedefinition.apiextensions.k8s.io/applications.argoproj.io unchanged
customresourcedefinition.apiextensions.k8s.io/appprojects.argoproj.io unchanged
serviceaccount/argocd-application-controller created
serviceaccount/argocd-dex-server created
serviceaccount/argocd-redis-ha created
serviceaccount/argocd-redis-ha-haproxy 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-redis-ha created
role.rbac.authorization.k8s.io/argocd-redis-ha-haproxy created
role.rbac.authorization.k8s.io/argocd-server created
clusterrole.rbac.authorization.k8s.io/argocd-application-controller unchanged
clusterrole.rbac.authorization.k8s.io/argocd-server unchanged
rolebinding.rbac.authorization.k8s.io/argocd-application-controller created
rolebinding.rbac.authorization.k8s.io/argocd-dex-server created
rolebinding.rbac.authorization.k8s.io/argocd-redis-ha created
rolebinding.rbac.authorization.k8s.io/argocd-redis-ha-haproxy created
rolebinding.rbac.authorization.k8s.io/argocd-server created
clusterrolebinding.rbac.authorization.k8s.io/argocd-application-controller unchanged
clusterrolebinding.rbac.authorization.k8s.io/argocd-server unchanged
configmap/argocd-cm created
configmap/argocd-gpg-keys-cm created
configmap/argocd-rbac-cm created
configmap/argocd-redis-ha-configmap created
configmap/argocd-redis-ha-health-configmap 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-ha created
service/argocd-redis-ha-announce-0 created
service/argocd-redis-ha-announce-1 created
service/argocd-redis-ha-announce-2 created
service/argocd-redis-ha-haproxy created
service/argocd-repo-server created
service/argocd-server created
service/argocd-server-metrics created
deployment.apps/argocd-dex-server created
deployment.apps/argocd-redis-ha-haproxy created
deployment.apps/argocd-repo-server created
deployment.apps/argocd-server created
statefulset.apps/argocd-application-controller created
statefulset.apps/argocd-redis-ha-server created
networkpolicy.networking.k8s.io/argocd-application-controller-network-policy created
networkpolicy.networking.k8s.io/argocd-dex-server-network-policy created
networkpolicy.networking.k8s.io/argocd-redis-ha-proxy-network-policy created
networkpolicy.networking.k8s.io/argocd-redis-ha-server-network-policy created
networkpolicy.networking.k8s.io/argocd-repo-server-network-policy created
networkpolicy.networking.k8s.io/argocd-server-network-policy created

一旦执行,就会产生各种东西,如上所示。

确认是否已经制作完成。

# kubectl pod -n argocd
NAME                                       READY   STATUS              RESTARTS   AGE
argocd-application-controller-0            0/1     ContainerCreating   0          24s
argocd-dex-server-76ff776f97-vln62         0/1     Init:0/1            0          24s
argocd-redis-ha-haproxy-5886787f8b-nrd5h   0/1     Init:0/1            0          24s
argocd-redis-ha-haproxy-5886787f8b-r7qrp   0/1     Pending             0          24s
argocd-redis-ha-haproxy-5886787f8b-s587f   0/1     Pending             0          24s
argocd-redis-ha-server-0                   0/2     Init:0/1            0          24s
argocd-repo-server-6d859bdccf-b6pxw        0/1     ContainerCreating   0          24s
argocd-repo-server-6d859bdccf-k2xqr        0/1     Pending             0          24s
argocd-server-65957f79f6-c2t2r             0/1     ContainerCreating   0          24s
argocd-server-65957f79f6-kf9hk             0/1     Pending             0          24s
# kubectl get svc -n argocd
NAME                         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
argocd-dex-server            ClusterIP   10.108.72.243    <none>        5556/TCP,5557/TCP,5558/TCP   36m
argocd-metrics               ClusterIP   10.101.176.100   <none>        8082/TCP                     36m
argocd-redis-ha              ClusterIP   None             <none>        6379/TCP,26379/TCP           36m
argocd-redis-ha-announce-0   ClusterIP   10.97.211.150    <none>        6379/TCP,26379/TCP           36m
argocd-redis-ha-announce-1   ClusterIP   10.96.95.101     <none>        6379/TCP,26379/TCP           36m
argocd-redis-ha-announce-2   ClusterIP   10.109.42.3      <none>        6379/TCP,26379/TCP           36m
argocd-redis-ha-haproxy      ClusterIP   10.109.225.203   <none>        6379/TCP                     36m
argocd-repo-server           ClusterIP   10.110.225.87    <none>        8081/TCP,8084/TCP            36m
argocd-server                ClusterIP   10.107.103.155   <none>        80/TCP,443/TCP               36m
argocd-server-metrics        ClusterIP   10.106.125.117   <none>        8083/TCP                     36m

6. 我们试试是否连接成功吧。 ba.)

确认通过端口转发连接到本地的argocd。

# kubectl port-forward svc/argocd-server -n argocd 8080:443

7. 使用浏览器登录

argocdlogin.png

对此的看法/对此的感受/我的想法/我的体会

看公式上写了很多东西,仔细阅读是很好的。。。

bannerAds