728x90

DevOps/Kubernetes 5

[EKS] AWS Credentials Secret 설정 시 폴더로 인식 되는 경우

상황 secret volume mount로 .secret 이라는 파일을 업로드하고 싶었으나, 디렉토리로 인식되어 파일이 존재하지 않는것으로 인식되었다. 해결방법 subPath를 명시하면 파일로 처리된다. deployment.yaml - name: private-key mountPath: /.secret - name: private-key mountPath: /.secret subPath: .secret 결과 참고 https://stackoverflow.com/questions/65399714/what-is-the-difference-between-subpath-and-mountpath-in-kubernetes https://stackoverflow.com/questions/56395758/what-is-..

DevOps/Kubernetes 2022.11.24

[EKS] Pod 노드 그룹 지정

상황 설명 쿠버네티스는 논리적으로 노드를 지정할 수 있는 옵션이 있다. 이는 AWS EKS에서는 인스턴스와 직결되고, 인스턴스 타입에 따라 결제금액의 변동이 생긴다. 따라서 파드에 필요한 자원 정도에 따라 알맞은 노드를 지정하는 옵션이 필요할 수 있다. 노드 “하나”를 지정하는 것은 EKS에서는 인스턴스 1개에만 생성하는 것이므로 노드 스케일링을 적용한 나에게는 적절한 옵션이 아닐 수 있기에, 노드”그룹”을 지정하는 옵션이 필요했다. 나의 목적은 개발용으로 쓰는 경우 적은 자원의 노드로 테스트하고, 배포환경에서는 실제로도 큰 자원의 노드로 테스트하고 싶었다. 따라서 devNode는 상대적으로 작은 크기인 t3.medium 크기로 진행하였고, stagingNode는 t3.large로 진행하였다. (apiN..

DevOps/Kubernetes 2022.11.24

[EKS] Ingress 서비스 별 URL 관리

상황 어플리케이션이 여러 개 있는 상황에서 URL 별로 로드밸런싱이 필요해졌다. 기존에는 메인 API 서버 하나만 Ingress로 설정하였고, VPC 내부에서 K8S ClusterIP 타입의 서비스를 이용해 다른 서비스를 호출하는 방식으로 해결해왔다. 하지만 서버를 호출하는 객체가 여럿으로 늘고 외부에서 호출할 필요가 생기면서, 어플리케이션 별로 URL 작업이 필요해졌다. 시행착오 배포할 때, argoCD의 applicationSet 배포 패턴을 사용하고 있었다. 처음에는 api 서버 프로젝트의 ingress에다 다른 앱의 서비스를 붙이려고 시도해봤는데, 인식을 못해 타겟그룹도 안생기고 503 에러가 발생했다. backend service does not exist kubernetes 그럼 applica..

DevOps/Kubernetes 2022.11.24

[DevOps] Kubenetes(K8s) 공부 #1 - 기본 개념, pod, node

오늘은 Kubenetes에 대해서 공부했고, 복습하며 내가 이해한 내용을 적어보려고 한다. 쿠버네티스, 도커, 컨테이너란? 쿠버네티스란 컨테이너 오케스트레이션 툴이다. 컨테이너란 호스트 OS에 논리적 구역(컨테이너)를 만들어, 어플리케이션 실행에 필요한 라이브러리 등의 리소스를 한데 모아 서버인 것처럼 실행시킬 수 있도록 만드는 것을 의미한다. 서버 구축에 필요한 자원을 최소한으로 사용할 수 있게 되고, 서버 구축에 필요한 개발 시간이 많이 단축되기 때문에 많이 사용되기 시작했다. 도커는 위의 컨테이너를 구축하고 관리할 있도록 이미지라는 단위를 이용해 컨테이너를 생성, 배포할 수 있게 해주는 소프트웨어이다. 하지만 컨테이너간 호환이나 컨테이너를 여러 개 관리하는 경우 관리의 어려움이 생겨 컨테이너 간 오..

DevOps/Kubernetes 2022.06.20
728x90