분류 전체보기
-
AWS Storage 정리AWS 2021. 7. 3. 19:11
1. storage의 종류와 기능 데이터를 일정 크기의 블록으로 나누어 저장하며 호스트에서 파일 시스템을 생성할 수 있다. SSD나 HDD를 생각하면 되고, AWS에서는 EBS가 블록 스토리지에 해당된다. 디렉토리 구조로 파일을 저장하며 스토리지단에서 파일 시스템을 생성한다. 대표적으로 NAS가 있고 AWS에서는 EFS가 파일 스토리지에 해당된다. 객체 기반으로 저장하며 Rest기반의 API 호출을 통해 데이터에 접근한다. 즉 http 프로토콜을 이용하여 저장할 수 있으며, AWS에서는 대표적으로 S3가 있다. 질문 ☞ 언제 어떤 스토리지를 사용해야 효율적으로 사용할 수 있을까? Block Storage : 호스트에서 직접 파일을 액세스..
-
네트워크 네임스페이스를 이용한 브릿지 네트워크와 NAT 구성네트워크 2021. 7. 2. 00:48
이번 포스팅은 ubuntu 18.04에서 다음 네트워크를 구성한다. 간략하게 설명하자면 브릿지를 이용하여 네트워크 네임스페이스를 연결하고 브릿지 네트워크를 구성한다. 이후 네임스페이스에서 외부와의 통신을 위해 NAT를 구성한다. 먼저 네트워크 네임스페이스를 생성 한다. ip netns add netns1 ip netns add netns2 brid1와 veth1가 연결된 인터페이스를 생성 brid2와 veth2가 연결된 인터페이스를 생성 ip link add dev brid1 type veth peer name veth1 ip link add dev brid2 type veth peer name veth2 생성한 인터페이스를 네임스페이스에 연결한 후, IP할당, statu..
-
AWS VPC 실습 (feat. NAT, IGW, Routing table)AWS 2021. 7. 1. 00:17
이번 포스팅은 다음과 같이 VPC를 구성한다. VPC를 구성하기 전, 필요한 개념에 대해 알아보자. 외부 네트워크와 직접적으로 통신할 수 있는 공공 네트워크 외부 인터넷과 직접 통신할 수 없는 폐쇄적인 네트워크 vpc를 생성하면 가상 라우터가 자동으로 생성되며 가상 라우터는 라우팅 테이블을 이용하여 목적지까지 라우팅한다. 처음 생성된 라우터는 로컬 네트워크에 대한 라우팅 경로만 잡혀 있다. VPC내에서 생성된 서브넷은 로컬 네트워크를 통해 통신이 가능하다. 가상 라우터에서는 서브넷 별로 라우팅 테이블을 매핑하여 서브넷 당 개별적인 라우팅 테이블을 가질 수 있다. 인터넷 게이트 웨이는 vpc와 인터넷과..
-
K8S ArgoCD 설치 (feat. Helm3)K8S 2021. 6. 25. 15:26
Helm3 설치 curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh chmod 700 get_helm.sh ./get_helm.sh Helm 레포지토리에 argocd 추가 helm repo add argo https://argoproj.github.io/argo-helm Repository update helm repo update argo repository 목록 확인 helm search repo argo argo cd 설치 helm install repo argo/argo-cd 권장사항은 포트 포워딩이지만 필자는 Nodeport로 edit해서 사용한다. kubectl edit svc repo-..
-
Istio Circuit breaking 정리K8S 2021. 6. 25. 11:03
이번 포스팅은 이스티오의 circuit breaking에 대해 다룬다. 마이크로 서비스 아키텍처에서 가장 일반적인 문제는 cascading failure다. 어떤 이유로든 서비스가 응답하지 않는 경우, 서비스에 요청을 반복적으로 보내면 대기시간이 길어지고 서비스에 불필요한 부하가 발생한다. 한 서비스의 부하는 다른 서비스의 부하로 이어지는데 이런 현상을 cascading failure라 한다. 이때 circuit breaking을 통해 과부하된 서비스의 연결을 끊고 서비스가 회복할 시간을 줄 수 있다. 예시를 통해 확인해보자. 다음은 fleet-staff-service에서 risky와 safe으로 트래픽을 보내는 경우다. safe의 경우 200 응답이 오지만, risky는 종종 5xx에러의 응답이 온다...
-
Istio Header based routing를 이용한 Dark ReleaseK8S 2021. 6. 25. 01:33
이번 포스팅은 이스티오만의 배포방식인 dark release에 대해서 다룬다. dark release란 개발자가 새로운 버전의 어플리케이션 개발시 test서버에서 testing을 거치지 않고 바로 Production Level에서 testing을 할 수 있는 어플리케이션 배포 방식으로 특정 사용자만 새로운 버전의 애플리케이션 서비스를 경험 및 테스트할 수 있다. 어떻게 특정 사용자만 새로운 버전의 애플리케이션을 사용할 수 있을까? 이는 이전 포스팅에서 다룬 header based routing를 이용한다. Istio Ingress Gateway 정리2 (Prefix based routing, Header based routing) Istio Ingress gateway 정리 k8s의 Ingress는 클러..
-
Istio Ingress Gateway 정리2 (Prefix based routing, Header based routing)K8S 2021. 6. 24. 00:32
Istio Ingress gateway 정리 k8s의 Ingress는 클러스터 외부에서 접근하고 트래픽을 원하는 서비스로 보낼 수 있는 오브젝트다. 그리고 이스티오 서비스 매쉬에서도 ingress gateway라는 모델을 제공하는데 어떤 차이가 있어서 새 seungjuitmemo.tistory.com 이번 포스팅은 istio ingress gateway를 이용한 prefix based routing과 header based rotuing에 대해서 다룬다. prefix 매칭이란 front로 들어오는 uri가 특정 Rule과 매칭되면, 특정 룰에 맞게 routing하는 것이다. prefix 매칭은 정확하게 매칭되지 않아도 된다. 예를들어 룰은 /abc, 실제 들어온 경로가 /abcd라면 /abc로 들어왔다고..
-
Istio Ingress gateway 정리(Weighted routing, Canary)K8S 2021. 6. 22. 17:28
k8s의 Ingress는 클러스터 외부에서 접근하고 트래픽을 원하는 서비스로 보낼 수 있는 오브젝트다. 그리고 이스티오 서비스 매쉬에서도 ingress gateway라는 모델을 제공하는데 어떤 차이가 있어서 새로운 모델을 제공한걸까? 다음 상황을 통해 이해해보도록 하자. 다음 yaml을 apply 한다. apiVersion: apps/v1 kind: Deployment metadata: name: api-gateway spec: selector: matchLabels: app: api-gateway replicas: 1 template: # template for t..