본문 바로가기

전체 글345

볼륨: 컨테이너에 디스크 스토리지 연결 쿠버네티스의 볼륨은 Pod의 컴포넌트이므로 컨테이너와 마찬가지로 Pod의 스펙에 정의 볼륨은 독립적인 쿠버네티스 오브젝트가 아니며 스스로 생성하거나 삭제할 수 없다. ㅁ 사용 가능한 볼륨 유형 - emptyDir: 일시적인 데이터를 저장하는 데 사용되는 비어있는 다순한 디렉터리 - hostPath: 워커노드의 파일 시스템에서 Pod로 디렉터리를 마운트하는 데 사용 - gitRepo: Git 스토리지의 내용을 체크아웃해 초기화된 볼륨 - nfs: Pod에 마운트된 NFS 공유 - gcePersistentDisk(구글 컴퓨트 엔진 영구 디스크), awsElastic-BlockStore(AWS EBS), azureDisk(마이크로소프트 애저 디스크 볼륨): 클라우드 제공자에 따라 전용 스토리지를 마운트하는데 .. 2021. 2. 6.
외부 서비스에서 외부 클라이언트로...(Nodeport, Loadbalancer, Ingress) [서비스가 외부에서 액세스 가능하게 하는 방법] ㅇ. NodePort 서비스 타입으로 설정하기 - NodePort 서비스의 각 클러스터 노드는 노드 자체 이름을 통해 port를 열고 port에서 발생한 트래픽을 서비스로 Redirect함. ㅇ. LoadBalancer 서비스 타입으로 설정 하기 - Kubenetes가 실행 중인 클라우드 인프라스트럭처에 provision된 지정된 LoadBalancer를 통해 서비스 액세스 가능 ㅇ. Ingrea Resource 생성하기 - HTTP fpqpf(네트워크 7계층) 수준에서 동작하기 때문에 4계층 서비스보다 좀 더 기능을 제공 1. NodePort 서비스 ㅁ NodePort 서비스 생성 apiVersion: v1 kind: Service metadata: na.. 2021. 2. 6.
외부 서비스에 연결 (Endpoint) ㅁ 서비스 Endpoint Service는 Pod를 직접 link하지 않는다. 대신 Endpoint라 불리는 리소스가 Pod와 Service 사이에 위치 한다. $ kubectl describe svc kubia 와 같은 describe 명으로 서비스 확인 가능 get endpoints로 endpoint 정보 확인 가능 $ kubectl get endpoints kubia ㅁ 수동으로 Endpoint 설정 - Selector 없이 Service 생성 apiVersion: v1 kind: Service metadata: name: external-service spec: ports: - ports: 80 80으로 들어오는 연결을 처리하는 external-service를 정의 - Selector없이 Serv.. 2021. 2. 6.
CloudHub 패턴 - VPN 지점 설치 ㅁ 풀어야 할 문제 여러 지점 간의 VPN 접속을 풀 메쉬 토폴로지(Full Mesh Topology)형으로 구축하면, 지점이 늘어남에 따라 각 지점 VPN 라우터 설정도 복잡해지고 유지보수 비용도 늘어난다. 이 문제를 해결하기 위해 스타 토폴로지(Star Topology)형으로 VPN을 구축하면, 각 지점의 VPN 라우터는 VPN 허브에 접속만 하면 된다. 그러나 VPN 허브에 장애가 발생하면 모든 VPN 접속에 영향을 주기 때문에 VPN 허브의 가용성이 가장 중요하다. ㅁ 해결/패턴 기존 VPN 허브는 가용성을 높이기 위해 VPN에 이용하는 통신 기기를 이중화하는 등 높은 초기 비용이 들었다. 또한 VPN 접속 이용량에 상관없이 장비 유지에 대한 고정 비용이 발생하여 비용 효율이 좋지 않았다. 클라우.. 2021. 2. 5.
Web Proxy 패턴 - 고가의 Web Application Firewall 의 효율적 활용 ㅁ 풀어야 할 문제 전자상거래 사이트 등 중요한 개인정보(신용카드 정보 등)를 사용하는 웹 사이트는 보안 강화를 위해서 WAF(Web Application Firewall)를 도입하는 경우가 있다. 그러나 클라우드 에서의 시스템은 작은 규모로 구축된 시스템이 많고, 대부분의 경우 WAF 도입은 고려하지 않는다. 또한, 스케일 아웃/인에 따른 서버의 추가 및 삭제를 고려한 시스템이 많은데, 그런 때는 필요한 라이선스 수를 알 수 없기 때문에 WAF 도입은 어렵다. ㅁ 해결/패턴 기존에는 서버 대수를 결정하고 준비하기 때문에 도입하는 WAF 대수도 정해져 있어 특별히 문제는 없었다. 그러나 시간 단위로 서버의 추가/삭제가 이루어질 수 있는 클라우드 환경에서는 그 서버에 WAF를 도입하는 것은 비현실적이고, .. 2021. 2. 5.
Multi Load Balancer 패턴 - 복수 로드 밸런서 설치 ㅁ 풀어야 할 문제 웹 애플리케이션을 멀티 디바이스에서 사용해야 하는 경우 PC나 휴대폰, 스마트 폰에서 액세스해야 한다. 그 때 액세스 디바이스별로 SSL이나 세션 분배 등의 설정을 해야 하는데, EC2 인스턴스 자체에 그런 설정을 하게 되면 서버가 늘어나거나 설정 변경 시의 작업이 정말 번거로워진다. ㅁ 해결/패턴 웹 애플리케이션을 호스팅하고 있는 가상 서버 그룹에 대해 설정이 다른 여러 대의 가상 로드 밸런서를 할당하여 문제를 해결 할 수 있다. 결국, 서버에 설정을 하지 않고 각 디바이스에서의 액세스를 가상 로드 밸런서를 경유하도록 변경할 수 있게 된다. 예를 들어, 세션이나 상태 확인, HTTPS 등의 설정이 그것이다. ㅁ 구현 하나의 Ec2에 여러 대의 ELB(가상 로드 밸런서)를 할당한다. .. 2021. 2. 5.