기술 이모저모

CKA 실습을 하다보면, 특정 Node에는 Pod이 배포되지 않도록 요구하는 문제를 많이 볼 수 있다. 그때마다 설정하는 내용을 보면 Taint / Tolerations을 설정하여 특정 Node에 대한 사용을 제한한다. 오늘은 Taint, Tolerations에 대한 내용을 알아보자!! k8s Node Taint이란? Taint에 대한 사전적인 내용을 보면 "오염"으로 풀이된다. 즉, Node가 오염되었기 때문에 Pod의 Schedule을 제한한다. 보통 Taint는 특정 Node에 대해 특정 Pod만 실행할 수 있도록 역할을 제한하기 위한 목적으로 많이 사용된다. - 예를들어) Batch Node에는 System batch pod만 Schedule되어야한다. 모든 Pod 별로 Nodename을 지정하면..
k8s를 공부하다보면 어떤 경우는 kubectl create 로 yaml 파일을 실행하고, 어떤 경우는 kubectl apply로 실행하는 경우가 있다. 예전에는 무슨 차이가 있는지도 몰랐고, 대다수 kubectl create로 리소스를 생성했었는데, 간혹가다 replicas를 변경하거나 어떤 특수한 경우에 대해서는 kubectl create로만 작업을 했었는데 Udemy 강의를 보니 명령형/선언형 접근방법의 차이가 있다고 한다. 명령형 접근방법 vs 선언형 접근방법 선언방법 리소스가 없을 경우 리소스가 없을 경우 비고 create 리소스를 생성한다. 에러가 발생한다. 명령형 접근방법 apply 리소스를 생성한다. 리소스가 업데이트 된다,. 선언형 접근방법 replace 에러가 발생한다. 리소스를 삭제(..
기본적으로 Cluster의 각 오브젝트는 해당 유형의 리소스에 대해 고유한 이름을 가지며, 이를 컨트롤러 매니저에서 관리하기 위해 UID를 부여한다. 하지만 이는 동일한 Namespace에서만 유일하면 된다. 다시말하면 동일한 리소스가 A Namespace / B Namespace에 존재할 수 있다. 왜냐하면 이것은 서로 다른 UID를 가지기 때문이다. 그렇다면 Namespace란 무엇일까? Namespace란? Namespace란 동일한 Cluster에서 다시 한번 논리적으로 가상 Cluster의 개념으로 분리하기위한 리소스이다. 즉, A Namesapce와 B Namespace는 모두 동일한 물리 Cluster에 존재하나, 서로 논리적으로 분리되어 있다. 일반적으로 다른 Namespace에 존재하는 ..
앞선 게시물에서 k8s Pod, Replicaset, Deployment에 대한 기본적인 개념을 배웠다. 그리고 이번에는 가장 중요한? Service에 대한 개념정리를 해보자!! 필자가 k8s에 대해 공부를 하면서, 가장 궁금한 내용은 Pod들끼리의 통신은 되는걸까? Pod를 외부에 노출해야 하는 경우가 반드시 생길텐데 이런 경우는 어떻게 해야될까? 이것에 대한 답이 Service Type이다!! 먼저 Service란? k8s 환경에서 Pod를 통해 실행되고 있는 Application을 네트워크에 노출하는 가상의 인터페이스이다. 네트워크에 노출한다는것이 내부 클러스터간의 네트워크일수도 있고, 외부 네트워크일수도 있다. 결론적으로는 Application이 다른 외부 Application 또는 사용자/Pod..
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..
Kobby
'기술 이모저모' 카테고리의 글 목록 (5 Page)