Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updating decapod deploying part of document #4

Merged
merged 3 commits into from
Aug 18, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs/assets/argo-cd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/getting-started/customize-yaml.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Customizing
Decapod-site를 배포할 환경에 맞게 수정하여 Argo CD가 사용할 decapod-manifests를 생성한다.
Decapod-site를 배포할 환경에 맞게 수정하여 Argo CD가 사용할 decapod-manifests를 생성한다.

## 사전 준비
* [decapod-site](https://github.com/openinfradev/decapod-site)를 자신의 repo로 fork한다.
* [Fork 방법](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
* 렌더링된 decapod-manifest를 저장할 repository를 생성한다.
* E.g., "github.com/<YOUR_REPOSITORY_NAME>/decapod-manifest.git"
* 렌더링된 [decapod-manifests](https://github.com/openinfradev/decapod-manifests)를 저장할 repository를 생성한다.
* 예: github.com/<YOUR_REPOSITORY_NAME\>/decapod-manifest.git

## 신규 사이트 생성

Expand Down
33 changes: 20 additions & 13 deletions docs/getting-started/deploying.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,42 @@
# Deploying

## 사전 준비
* 접속 가능한 Argo Workflow와 Argo CD, argo CLI가 설치되어 있어야 한다.
* argo CLI 가 설치되어 있어야 한다.
* [argo CLI 설치](https://github.com/argoproj/argo-workflows/releases)

* Argo Workflow에 decapod-flow에서 제공하는 `WorkflowTemplate` 이 생성되어 있어야 한다.
[이곳](./install.md#)에서 tacoplay를 통해서 설치했다면 WorkflowTemplate이 생성되어 있다.
만약, 수동 설치를 하였다면 아래와 같이 argo template을 생성해준다.
* Argo Workflow에 decapod-flow에서 제공하는 `WorkflowTemplate` 을 아래와 같이 생성한다. 각각은 decapod에서 제공하는 pre-defined workflow 템플릿이다.
```bash
git clone https://github.com/openinfradev/decapod-flow.git
cd decapod-flow/templates

# argo 를 위한 rbac manifest 를 적용한다.
kubectl apply -f argo-additional-rbac.yaml

argo template create argo-cd/prepare-argocd-wftpl.yaml
argo template create argo-cd/createapp-wftpl.yaml
argo template create decapod-apps/lma-federation-wftpl.yaml
argo template create decapod-apps/lma-wftpl.yaml
argo template create decapod-apps/openstack-components-wftpl.yaml

argo template create decapod-apps/lma-uniformed-wftpl.yaml
argo template create decapod-apps/openstack-components-wf.yaml
argo template create decapod-apps/openstack-infra-wftpl.yaml
argo template create decapod-apps/service-mesh-wf.yaml
```

## 배포
!!! note
이 문서에서는 LMA 배포에 대해서만 다룬다.
이 문서에서는 LMA (Logging,Monitoring,Allerting) 배포에 대해서만 다룬다.
### Argo CLI로 배포
1. 최초 한 번만 prepare-argocd를 실행한다. parameter는 환경에 맞게 수정한다.
```sh
# 아래 명령어를 통하여 argo-cd password 를 확인할 수 있다.
kubectl -n argo get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

argo submit -n argo --from wftmpl/prepare-argocd \
-p argo_username="admin" # argo cd의 유저 아이디 \
-p argo_password="password" # argo cd 유저의 패스워드 \
-p argo_server="decapod-argocd-server.argo.svc:80" # argo cd 주소
-p argo_username="admin" \
-p argo_password="password" \
Jaesang marked this conversation as resolved.
Show resolved Hide resolved
-p argo_server="argo-cd-argocd-server.argo.svc:80" \
Jaesang marked this conversation as resolved.
Show resolved Hide resolved

argo ls -n argo # 생성된 workflow가 완료될 때까지 기다린다.
# 생성된 workflow가 완료될 때까지 기다린다.
argo ls -n argo
```

2. lma 배포
Expand All @@ -39,7 +46,7 @@ argo template create decapod-apps/service-mesh-wf.yaml
-p app_name="lma" \
-p repository_url="https://github.com/openinfradev/decapod-manifests" # decapod-manifests repository 주소
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

openinfradev가 아닌 "YOUR_REPOSITORY_NAME" 으로 바뀌어야할 것 같습니다.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ktkfree 업데이트해주세요~

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@robertchoi80 @Jaesang 업데이트는 했는데, github 인증방식이 8/13에 변경되면서 push 를 못하고 있었어요. 이부분 확인후 push 하도록 하겠습니다. 감사합니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

변경했습니다~

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

앗! 이거 엉뚱한 부분이 수정되었는데요? site_name 이 아니라 repository_url 의 'openinfradev' 부분을 말씀드린 것입니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

앗 수정부분이 저걸로 떠서 무의식적으로 site name을 수정해버렸네요.
수정 pr 올릴게요. 감사합니다


argo ls -n argo # 생성된 workflow가 완료될 때까지 기다린다.
argo list -n argo # 생성된 workflow가 완료될 때까지 기다린다.
Jaesang marked this conversation as resolved.
Show resolved Hide resolved
```

3. 배포 확인
Expand Down
17 changes: 16 additions & 1 deletion docs/getting-started/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@ $ helm install argo-cd argo/argo-cd --version 3.9.0 -f ./decapod-bootstrap/argoc
```
Argo-cd가 설치되면, decapod-projects 및 decapod-apps application이 생성되며, 이 application들이 자신이 바라보고 있는 git repo 상의 디렉토리를 스캔하여 실제 application들을 순차적으로 설치하게 된다.

### 결과 확인
## 결과 확인
### pod 상태 확인
아래와 같이 모든 pod 의 상태가 running 상태가 됨을 확인한다.
```
$ kubectl get pods -n decapod-db
NAME READY STATUS RESTARTS AGE
Expand All @@ -95,3 +97,16 @@ argo-cd-argocd-server-6666cb7689-tswfr 1/1 Running
argo-workflows-operator-server-d7df65b99-gpx5q 0/1 Running 0 4m21s
argo-workflows-operator-workflow-controller-598dfdd565-vrzg9 0/1 Running 0 4m21s
```

### web UI 접속
#### argo-cd
모든 pod 이 Running 상태가 됨을 확인후, 아래 명령어를 통해 argo-cd password 를 확인한다.
```
$ kubectl -n argo get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
```

argo-cd nodeport(80)를 통하여 다음과 같이 web UI 에 접속할 수 있어야 한다.

![argo-cd web console](../assets/argo-cd.png)