앞선 게시물에서 k8s Pod, Replicaset, Deployment에 대한 기본적인 개념을 배웠다. 그리고 이번에는 가장 중요한? Service에 대한 개념정리를 해보자!! 필자가 k8s에 대해 공부를 하면서, 가장 궁금한 내용은 Pod들끼리의 통신은 되는걸까? Pod를 외부에 노출해야 하는 경우가 반드시 생길텐데 이런 경우는 어떻게 해야될까? 이것에 대한 답이 Service Type이다!! 먼저 Service란? k8s 환경에서 Pod를 통해 실행되고 있는 Application을 네트워크에 노출하는 가상의 인터페이스이다. 네트워크에 노출한다는것이 내부 클러스터간의 네트워크일수도 있고, 외부 네트워크일수도 있다. 결론적으로는 Application이 다른 외부 Application 또는 사용자/Pod..
All Posting
k8s를 공부를 하다보면 Deployment만 생성했음에도 Replicaset이 생성되고 이에 대해 pod가 생성된다. 나는 Deployment만 생성했는데, 어떻게해서 Replicaset도 생성이 되는걸까? 이를 알기 위해서는 이들의 역할을 알아야한다. Pod란? Pod는 k8s의 가장 작은 구성요소이다. 쉽게 말하자면 하나 이상의 Container를 보유하고 있는 리소스이다. Container = Application, Pod = Server라고 생각하면 쉽다. 즉, Container를 관리한다고 보면 된다. Pod는 1개의 Container로 구성될 수도 있지만, 다수의 Container로 구성할 수 있기에 이를 관리할 필요가 있다. Replicaset란? Label을 통해서 Replicaset에서..
[AWS] Fortigate를 이용한 Outbound traffic 통제 구성[1/2] [AWS] NetworkFirewall 기능 정리 [AWS] Traffic은 어떻게 통제해야 할까? AWS 에는 EC2 또는 VPC 기준으로 트래픽을 통제하는 방법이 다양하다. 대표적으로 Route53 DNS Firewall, NetworkFirewall, SG, NACL, 3r.. dobby-isfree.tistory.com Fortigate 구성을 해봤다면, 이제는 Fortigate 기능에 대해서 알아본다!!! Fortigate 기능 Forigate 엔지니어가 더 잘알고 다들 있겠지만, 필자가 체험?한 기능 위주로 작성한다. 기능 구분 기능 여부 기능 상세 내용 비고 IP, Port 구분 ● • Src/Dst IP..
[AWS] NetworkFirewall 기능 정리 [AWS] Traffic은 어떻게 통제해야 할까? AWS 에는 EC2 또는 VPC 기준으로 트래픽을 통제하는 방법이 다양하다. 대표적으로 Route53 DNS Firewall, NetworkFirewall, SG, NACL, 3rd Firewall이 있다. 각 서비스마다.. dobby-isfree.tistory.com 최초에 Networkfirewall을 이용하여 Outbound Traffic을 제어하고자 하였으나, 기능이 너무 부실하다. 그래서 많이들? 사용하고 있다는 Fortigate를 이용하여 Outbound를 통제하기 위한 구성을 하고, 기능을 나열한다. Fortiagate 구성도 우선 대전제는 Fortigate를 위한 VPC를 별도로 분리하고, ..
[AWS] Traffic은 어떻게 통제해야 할까? AWS 에는 EC2 또는 VPC 기준으로 트래픽을 통제하는 방법이 다양하다. 대표적으로 Route53 DNS Firewall, NetworkFirewall, SG, NACL, 3rd Firewall이 있다. 각 서비스마다 사용 방법이 다르고, 기능이 다르고, 요.. dobby-isfree.tistory.com 위 게시물을 통해 트래픽을 제어할 수 있는 AWS 자체 서비스에 대해 알아보았으며, Networkfirewall의 기능에 대해서 알아보자!! Networkfirewall이란? 말 그대로 AWS 관리형 서비스로 방화벽의 기능을 제공해준다. 하지만 Networkfirewall 서비스를 출시한 시기가 얼마 되지 않아서 할 수 있는 기능이나, 로깅이 매우 ..
ReplicaSet & Replication Controller 만약, Pod를 만들었는데 어떠한 이유로 Pod이 장애가 난다면 서비스를 이용할 수 없다. 이런 상황을 방지하기 위해 서비스에 대해 단일 Pod으로 만들기보다는 복수의 Pod으로 만들어서 부하분산을 하도록 한다. 이와 같은 사유로 동일한 Pod를 여러개 만들때 사용하는것이 ReplicaSet 또는 Replication Controller이다. ReplicaSet, ReplicationConroller 모두 특정 Pod에 대해서 특정 개수를 일정하게 유지하기 위한 목적으로 만들어졌다. 그렇다면 차이점은 뭐가 있을까? 구분 ReplicaSet ReplicationContoller 비고 출시시기 고도화 버전 완전 초창기 버전 Selector i..
Kube Proxy 아래와 같이 Pod에는 여러가지 Container가 구동될 수 있다. 이때 POD끼리 통신하기 위해서는 POD Network가 필요하다. 만약 좌측 POD이 웹서버이고, 우측 POD이 데이터베이스라고할 때 전통적인 서버 방식이라면 IP가 변경될일이 없기 때문에 IP 기반으로 통신을 하면 된다. 하지만 POD은 수시로 생성/삭제가 이뤄지기 떄문에 IP 기반으로 통신할 수가 없다. 이때 웹서버가 데이터베이스에 접근하기 위한 좋은 방식이 서비스를 기반으로 하는 접근 방식이다. kube-proxy는 Node/Pod/Container간 통신을 하기 위한 서비스로 이는 DeamonSet으로 배포하기 때문에 항상 POD에 배포된다. kubectl get pods -n kube-system kube..
CKA 강의를 듣는데, 강의를 듣다보니 kubernetes의 구조를 알아야 할 것 같아서 구조를 먼저 알아보도록 한다. Kubernetes 구조 Udemy에서는 k8s를 선박으로 비유하였다. 그리고 k8s에는 Master/Worker Node가 존재한다. 위 그림에서 볼 수 있듯이 k8s 구조를 보면 Master Node와 Worker Node가 나온다. Master Node 란? Master Node는 클러스터에 관한 전반적인 결정을 수행하고, 이벤트를 감지하고 반응하는 역할을 한다. 즉, k8s의 두뇌이다. 그리고 해당 Node는 아래 컴포넌트로 이루어지며, 각 구성요소의 기능은 아래와 같다. kube-apiserver : 모든 요청을 처리하는 역할로 가장 중추적인 역할을 담당한다. Master No..
CKA 자격증 을 찾아보면 모두 다 Udemy의 "Certified Kubernetes Administrator (CKA) with Practice Tests" 강의를 추천한다. 해당 강의에서 CKA 기본 개념도 알 수 있고, 실습 환경도 제공해준다고하여 많이들 수강하는거 같다. 하지만, 가장 큰 문제가 있다.. 바로바로 영어로 강의가 제공된다는점이다. 처음에는 영어 자막을 틀어서, 듣고 있었는데 어느새 듣다보니 강의가 영어듣기인지.. CKA인지 이해하기가 어려웠다. - 기본 자막에서는 한국어 자막이 없다 ㅜㅜ 그래서 찾아보니!! Udemy 강의에 대해 아래 2가지 방법으로 한글자막을 추가하는 기능이 있었다! 1. 개발자도구를 통한 한글자막 구현 1) 먼저 영어 자막을 활성화한다. 2) 영어 대본을 활성..