helm template 수정
·
devops/minikube
지금까지 Helm으로 배포할 때는 환경변수를 고려하게 세팅되어 있지 않았다. 환경변수를 쿠버네티스의 secret형태로 넣어서 DB 정보를 추가하여 camping-backend가 aws rds와 통신하는 것을 목표로 하겠다. 그럴려며 우선 Helm 차트를 가져와야 하겠다.$ helm repo add ggocamping https://chart.ggocamping.com/devopscharts/$ helm repo updateHang tight while we grab the latest from your chart repositories......Successfully got an update from the "ggocamping" chart repositoryUpdate Complete. ⎈Happy H..
k8s와 aws rds 그리고 fiber와 연결
·
devops/minikube
kubernetes는 현재 public subnet에 존재하고, Database는 Private Subnet에 존재한다. 같은 VPC에 존재하긴 하지만 이 Database에 연결학 위해서는 public subnet에 있는 인스턴스(proxy 역할)를 통해 연결하거나, 새로운 proxy server를 만들어서 DB에 접근해야한다. 물론 NAT Gateway를 이용하는 방법도 있다. 나는 비용을 최소화 해야 하기 때문에.. 역시 기존에 올린 Teleport Proxy를 이용해서 Private Subnet에 있는 DB와 연결했다.  먼저 teleport로 로그인하자.tsl은 없는 명령어이고 편의상 만든 함수이다. 이 함수에 대한 설명은 이전 포스팅을 참고하면된다. 간단히 설명하면tsh 로 내가 만든 proxy..
8. 나만의 헬름차트 만들기 (1)
·
devops/minikube
istio를 사용할 경우 virtualservice와 gateway가 세트로 같이 움직이게 된다. 자세한 내용을 공식 문서를 참고하자.  이 것을 매번 manifest로 사용하려고 하니 여간 불편한게 아니다. 그래서 이 2가지 yaml파일만 가지고 있는 헬름차트를 만들어 배포하려고한다. (사실상 이게 더 귀찮음) 그런데 한번 이 작업을 해놓게 되면 앞으로 사용하게 될 모든 서비스를 이 차트를 이용하면 되므로 편한건 사실이다. 지금은 매우매우 귀찮지만...레파지토리를 만드는 방법에는 cloud 자원(s3, google storage 등.)을 이용하는 여러가지 방법이 있지만 나는 github page를 이용해서 레파지토리를 만드려고 한다.$ git clone https://github.com/ggorocke..
7. [Ubuntu] 서비스 등록 (systemd)
·
devops/minikube
EC2에 Minikube를 올렸기 때문에 인스턴스를 stop하게 되면 관련 서비스들도 다 멈추게 된다.  minikube와 port-forwarding도 마찬가지다. 그래서 재부팅을 하게되면 1. minikube start2. kubectl rollout restart ~3. sudo iptables ~ 이런 명령어를 입력해야하는데 이거 매번 하는게 영 귀찮은게 아니다. 그래서 좀 수고롭지만 ubuntu가 켜지거나 재부팅될때마다 실행되는 명령어로 바꾸도록 하겠다.  linux의 service를 이용하면  쉽게 해결할 수 있다.일단 간단한 스크립트를 만들도록 하자.cat > /home/ubuntu/startup.sh#!/bin/bashdate >> /home/ubuntu/date_log.txtexit 0E..
6. Istio: 서비스 메쉬의 선두주자
·
devops/minikube
서비스 메쉬?서비스 메쉬(Service Mesh)는 마이크로서비스 아키텍처에서 서비스 간의 통신을 관리하고, 보안을 강화하며, 트래픽을 제어하는 인프라 계층이다. 서비스 메쉬는 특히, 복잡한 네트워크 환경에서 서비스 간의 상호작용을 간편하게 해준다. 머 좋은건 알겠고 직접 설치해보고 사용해보고 맛보는게 최고다. 설치부터 시작이다. 역시 헬름을 이용해서 설치하겠다.https://istio.io/latest/docs/setup/install/helm/$ helm repo add istio https://istio-release.storage.googleapis.com/charts$ helm repo update$ helm upgrade --install istio-base istio/base -n istio..
5. Connect to Minikube Cluster via Teleport(3)
·
devops/minikube
2024.11.19 - [devops/minikube] - 4. Connect to Minikube Cluster via Teleport(2) 4. Connect to Minikube Cluster via Teleport(2)2024.11.19 - [devops/minikube] - 3. Connect to Minikube Cluster via Teleport(1) 3. Connect to Minikube Cluster via Teleport(1)Teleport란 무엇인가?텔레포트는 원래 인프라 접근을 위해 인증서 기반으로 사용자를 관리하는 솔ggorockee.tistory.com Teleport로 로그인을 할 수 있으니 이제 kubernetes와 연결을 해보도록하자. 이부분은 텔레포트이기보다는 kube..
4. Connect to Minikube Cluster via Teleport(2)
·
devops/minikube
2024.11.19 - [devops/minikube] - 3. Connect to Minikube Cluster via Teleport(1) 3. Connect to Minikube Cluster via Teleport(1)Teleport란 무엇인가?텔레포트는 원래 인프라 접근을 위해 인증서 기반으로 사용자를 관리하는 솔루션인데 쿠버네티스에서 사용할 수 있다. 실제로 현업에서도 많이 쓰기도 하고, 재택을 많이 차ggorockee.tistory.com에 이어서 teleport를 올리도록 하겠다. 인증서와 domain만 있으면 teleport를 올리는 것은 참 쉽다.(이 부분이 초심자에게는 어려워서 그렇지..) 텔레포트를 올리는 방법은 아래 링크를 참고하면된다.https://goteleport.com/do..
3. Connect to Minikube Cluster via Teleport(1)
·
devops/minikube
Teleport란 무엇인가?텔레포트는 원래 인프라 접근을 위해 인증서 기반으로 사용자를 관리하는 솔루션인데 쿠버네티스에서 사용할 수 있다. 실제로 현업에서도 많이 쓰기도 하고, 재택을 많이 차용하는 기업에서 사용하기도 하고, devops팀이 크면 클수록 많이 사용하는 것 같다. 나는 힘없고 돈없는 개인 개발자이기에 유료버전은 사용하지 않고 커뮤니티 버전으로 설치할 거다. 근데 내가 왜 굳이 텔레포트를 쓰냐?내가 올린 Minikube를 생각해보면 EC2인스턴스에 Docker 드라이버를 백앤드로해서 Minikube를 올렸다. 그러면 내가 앞으로 개발할 때는 여기 EC2인스턴스에 SSH가 되었든 클라우드 쉘이 되었든 접속해서 붙어서 CLI 환경에서만 작업을 해야 하는 것인가?(물론 VSCode로 remote ..
2. Minikube on EC2
·
devops/minikube
aws EC2에 Minikube를 올리도록 하자. 나의 관심사는 최대한 비용을 덜 내야 하기 때문에 SPOT인스턴스 말고는 선택지가 없다. 물론 단점이 있긴 하지만...1. AWS가 인스턴스를 회수 할 수 있다. 작업이 중단될 가능성이 있다는 뜻이다.2. 가격변동성이 있는데 가격이 변동해도 on-demand보다는 싸다. 경영장의 입장에서 정확하게 예측하려면 어렵겠지만..3. 이거또한 (1)의 연속성이다. 인스턴스가 중단될 경우를 대비하여 체크포인트, 상태 저장 등 이런 거를 처리해줘야 하는데 나는 개발서버이기도 하고 데이터를 크게 다룰거 같지 않아서 그냥 사용하기로 했다. 4. 모든 유형이  SPOT 인스턴스로 제공되지 않는다는 것인데, 나같은 개인이나 작은 회사에서는 사용할 만한 인스턴스를 다 지원한다..
1. EKS는 너무 비싸다
·
devops/minikube
나는 캠핑을 너무 너무 좋아한다. 그런데 어느 순간 좀 색다른 캠핑장이 가고싶을 때가 있는가 하면, 내 스타일의 캠핑장을 추천해줬으면 할 때가 있다. 더 나아가서 내가 다녔던 캠핑장이 어디였는지 정확히 기억이 안난다는 사실이다. 맨날 경기도로만 가더니 결국 비슷해지더라... 그래서 app이나 사이트를 뒤져봤는데 내가 원하는 느낌은 없더라.. 그래서 미약하지만 만들어보기로 했다. 아주 천천히...  나중에 서비스가 커지게 되면 그 때 서버리스를 사용하거나 EKS로 갈 생각은 있다. 그런데 개발이 언제까지 걸릴지도 모르는데 비싼돈 주고 하는건 오바 같아서 최대한 비용이 덜 나가는식으로 하려고한다.  내가 접목하는 기술의 자세한 내용은 추후에 다루기로하고 지금은 원리보다는 발자취 남기는 거에 집중하도록하겠다...