istio를 사용할 경우 virtualservice와 gateway가 세트로 같이 움직이게 된다. 자세한 내용을 공식 문서를 참고하자. 이 것을 매번 manifest로 사용하려고 하니 여간 불편한게 아니다. 그래서 이 2가지 yaml파일만 가지고 있는 헬름차트를 만들어 배포하려고한다. (사실상 이게 더 귀찮음) 그런데 한번 이 작업을 해놓게 되면 앞으로 사용하게 될 모든 서비스를 이 차트를 이용하면 되므로 편한건 사실이다. 지금은 매우매우 귀찮지만...
레파지토리를 만드는 방법에는 cloud 자원(s3, google storage 등.)을 이용하는 여러가지 방법이 있지만 나는 github page를 이용해서 레파지토리를 만드려고 한다.
$ git clone https://github.com/ggorockee/devops-camping.git
$ mkdir devopscharts
$ cd devopscharts
$ helm create foo
$ helm package foo
$ rm -rf foo
$ helm repo index .
$ cat index.yaml
apiVersion: v1
entries:
foo:
- apiVersion: v2
appVersion: 1.16.0
created: "2024-11-18T14:51:33.243024+09:00"
description: A Helm chart for Kubernetes
digest: cae85b84f0558a30126e23108f2b230fe35c8d3fa9d87b5649a17239888aed1c
name: foo
type: application
urls:
- foo-0.1.0.tgz
version: 0.1.0
generated: "2024-11-18T14:51:33.242378+09:00"
나는 devops-camping이라는 git을 만들었다. 여기에 위 명령어를 이용해 push 한다.
github에서 branch 관리를 위해 release라고 브랜치를 만들고 이 것을 기본 브랜치로 잡는다. 이것은 옵션사항이지 필수사항은 아니다. 다만 나는 이렇게 하는게 편해서 이렇게 한다.

그리고 setting에서 기본 브랜치를 release로 변경한다.

aws route53에서 cname과 A record를 추가한다.(갑자기 UI 가 바뀌었다.)
원래 깃허브에서는 <username>.github.io 라고 도메인을 준다. custom 도메인을 사용하지 않을 경우는 바로 다음으로 넘어가면된다.
내가 구매한 도메인인 abc.com이라는 도메인에 chart라고 추가하여 도메인을 만들도록 하겠다. 이렇게 하는게 더 일관성이 보여서 완성도가 있어보인다(단순히 내 느낌이 그렇다는 거다.)


A record는 4개중에 한개 입력하자. 나는 2번째인 185.199.109.153으로 입력했다. 첫번째는 뭔가 많이 쓸거같아서 그랬다.
후에 github pages에서 Custom domain에 도메인을 입력.

$ helm repo add ggocamping https://chart.abc.com/devopscharts/
$ helm search repo ggocamping
NAME CHART VERSION APP VERSION DESCRIPTION
ggocamping/foo 0.1.0 1.16.0 A Helm chart for Kubernetes
이렇게 차트가 등록이 된것을 알 수가 있다. 여기에 본격적으로 istio관련된 차트를 만들도록 하겠다.
'devops > minikube' 카테고리의 다른 글
10. argocd 설치 (0) | 2024.11.20 |
---|---|
9. 나만의 헬름차트 만들기 (2) (24) | 2024.11.19 |
7. [Ubuntu] 서비스 등록 (systemd) (0) | 2024.11.19 |
6. Istio: 서비스 메쉬의 선두주자 (25) | 2024.11.19 |
5. Connect to Minikube Cluster via Teleport(3) (25) | 2024.11.19 |