1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

argocdを構築してみた話

Last updated at Posted at 2022-01-19

これは?

argocdをkubectlで作成する方法を備忘録として記します。

やり方

1.namespaceをつくる

# kubectl create namespace argocd

※手動で作成する場合は上記コマンドを使用し、kustomization.yamlで一括作成したい場合は以下のようなnamespace.yamlを作成する

namespace.yaml
kind: Namespace
apiVersion: v1
metadata:
  name: argocd
  labels:
    name: argocd

2.作成する際のファイルをインストールする

公式にはインストールするファイルは2種類存在すると説明がある。
今回はMulti-Tenantを採用し、記載してあるinstall.yamlをダウンロードした。
そしてその後、ファイル名をargocd-install.yamlへ変更する。

3.ファイルを配置する

以下ディレクトリのような構造にして、ダウンロードしたファイルを配置する。

# tree
.
├── argocd-install.yaml
├── namespace.yaml
└── kustomization.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

4.実行するディレクトリへ移動し、以下コマンドにて実行

# 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

実行すると上のように色々作られていく。

5.作成されたのか確認する

# 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.試しに繋がるのか確認する

port-forwardして、ローカルに立てたargocdへの接続を確認

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

7.ブラウザでログイン

ブラウザでhttps://localhost:8080を入力しログインする。
argocdlogin.png

感想

公式を見ると色々書いてあるので、よく読むと良い。。。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?