Argo CD v1.9以降の管理者パスワード確認手順

概要

Argo CD v1.8以前までは管理者パスワードはargocd-serverのPod名が初期パスワードとして設定されていましたが、
Argo CD v1.9以降はargocd-initial-admin-secretに保存されそこから初期パスワードを取得する方式に変更になりました。

Argo CDのインストール

まずはじめにArgo CD用のNamespaceを作成します。

kubectl create namespace argocd


先程作成したNamespaceにArgo CDをインストールします。

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-redis 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 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-redis 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 created
service/argocd-server-metrics created
deployment.apps/argocd-dex-server created
deployment.apps/argocd-redis created
deployment.apps/argocd-repo-server created
deployment.apps/argocd-server created
statefulset.apps/argocd-application-controller created


管理者パスワード確認方法

Argo CD v1.9以降はargocd-initial-admin-secretという名前のSecretにパスワード値が保存されています。

$ kubectl get secrets -n argocd argocd-initial-admin-secret -o yaml
(略)
apiVersion: v1
data:
  password: UGFzc3cwcmQK=
kind: Secret
(略)


Base64エンコードされているので以下でデコードします。

$ echo "UGFzc3cwcmQK=" | base64 -D
Passw0rd


管理画面

以下でポートフォワードをおこないArgo CDの管理画面へ接続できる状態にする。

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

ブラウザ上から以下へアクセスします。

http://127.0.0.1:8080

ログイン画面が表示されたらユーザ名をadmin、パスワードを先程確認した値を入力することでログイン出来ます。

Kubernetesクラスタ内のDNSの名前解決

Serviceの場合

my-svc.default.svc.cluster.local
  • my-svc はサービス名
  • default はNamespace



Podの場合

まずPodのIPアドレスを確認する。

kubectl get pod -o wide

上記で表示さる対象PodのIPアドレスをメモしておく。


例えば対象のPodのIPアドレスが、 10.0.0.1 の場合

10-0-0-1.default.pod.cluster.local
  • default はNamespace名

docker run時にentrypointを上書き

概要

Dockerイメージを手元でrunさせる際にそのまま動かさず、試しにbashを実行してコンテナの中身を見たいときがあります。

Dockerビルドの際、entrypointが指定されているとCMDと違いbashを指定するとコマンドが上書きされず引数(オプション)扱いとなるためエラーとなってしまいます。

エラー例
$ docker run -it --rm aerospike/aerospike-tools bash
error: Unknown command: bash


entrypointを指定して上書き

$ docker run -it --rm --entrypoint "bash" aerospike/aerospike-tools