쿠버네티스 클러스터 안에는 DNS Server가 별도로 존재한다. DNS Server에는 Service의 도메인 이름과 IP가 저장되어 있기 때문에 Pod가 Service1의 도메인을 질의하면 ip를 알려준다. 만약 Pod가 User1을 질의하면 어떻게 될까?? 내부망에도 DNS서버 구축되어 있을 것이고 내부 서버들이 생겼을 때 해당 이름들이 DNS에 등록된다. Pod가 User1을 찾았을 때 쿠버네티스는 자신의 DNS Server에 User1이 없기 때문에 상위 DNS Server에서 이름을 찾게 되고 ip를 알 수 있다. 마찬가지로 외부 네트워크도 같은 메커니즘으로 동작한다. Headless아래 그림과 같이 Pod가 Pod1에 접근하고 싶다면 어떻게 할 수 있을까? headless를 이용하면..
1. Pod의 LifeCycle1) Pending 단계제일 먼저 Pod가 Node에 정상적으로 할당되면 PodScheduled가 True가 된다. 스케줄링 되는 방식은 직접 할당 & 쿠버네티스가 자원 상황에 따라 할당하는 방식이 있다. 이후에 container가 실행되기전에 초기화 시켜야할 내용이 있다면 실행되는 InitContainer가 실행(볼륨/보안)되고 Initialized가 True가 된다. Init할 내용은 Pod의 yml정의 spec에 initContainers라는 항목에서 정의할 수 있다. 이후 container의 이미지를 다운로드한다. 위 과정을 수행하면서 container의 status는 waiting이고, reason은 container creating이다. 2) RunningP..
개요이전에 쿠버네티스의 오브젝트에 대해 학습했었다.쿠버네티스는 크게 오브젝트와 오브젝트를 관리하는 컨트롤러로 나뉜다고 했었는데 이번엔 컨트롤러에 대해 정리하고자 한다. https://dgjinsu.tistory.com/68 [k8s] 쿠버네티스의 기본 오브젝트 (Pod, Service, Volume, Namespace)쿠버네티스는 크게 오브젝트(object)와 오브젝트를 관리하는 컨트롤러(controller)로 나눠져 있다.오브젝트엔 어떤 것들이 있고 각각의 오브젝트에 대한 내용을 간단하게 정리해보았다. 쿠dgjinsu.tistory.com 컨트롤러란?쿠버네티스의 컨트롤러는 쿠버네티스 클러스터의 상태를 관리하고 원하는 상태로 유지하기 위한 중요한 구성 요소이다. 현재 클러스터의 상태를 지..
쿠버네티스는 크게 오브젝트(object)와 오브젝트를 관리하는 컨트롤러(controller)로 나눠져 있다.오브젝트엔 어떤 것들이 있고 각각의 오브젝트에 대한 내용을 간단하게 정리해보았다. 쿠버네티스 오브젝트쿠버네티스 오브젝트는 쿠버네티스 시스템에서 영속성을 가지는 오브젝트이다. 오브젝트를 생성하게 되면 쿠버네티스 시스템은 원하는 상태를 보장하기 위해 지속적으로 작동한다. 쿠버네티스는 클러스터의 상태를 나타내기 위해 이 오브젝트를 이용한다. 거의 모든 쿠버네티스 오브젝트는 오브젝트 구성을 결정해주는 두 개의 중접된 오브젝트 필드인 status와 spec를 포함한다. status : 쿠버네티스 시스템과 컴포넌트에 의해 제공되고 업데이트된 오브젝트의 현재 상태를 설명 spec : 오브젝트의 특성으로 추..
전공자고 개발에 관심이 어느정도 있다면 도커, 쿠버네티스, MSA 등 어디서 한번쯤은 들어본 단어라 생각든다. 쿠버네티스가 뭔지? 왜 생기게 됐는지에 대해 정리해보았다. 쿠버네티스의 등장 배경쿠버네티스의 등장 배경을 알기 위해선 애플리케이션의 배포 환경의 변화부터 알아야한다. 1. 전통적인 방식가장 오래되고 단순한 방식 물리적인 컴퓨터 한대에 하나의 OS를 깔고, 여러가지 프로그램을 설치하는 방식문제점같은 컴퓨터 리소스를 공유하므로, 배포한 애플리케이션 끼리 서로 영향 -> 성능 문제 발생 하드웨어의 성능은 매우 빠르게 좋아지는 반면에, 소프트웨어 발전은 반도 못따라감소프트웨어가 요구하는 서버 사양에 비해 소프트웨어를 실행 중인 서버의 성능이 훨씬 좋다 보니, 서버 성능을 10% 수준 밖에 활용하..
1. 개요최근 아무생각없이 RDS를 퍼블릭으로 열어뒀다가 욕(?)을 먹고 수정한 과정에 대해 공유하고자 한다. 2. 퍼블릭 액세스 허용 여부블로그를 참고해 RDS를 만드신 분들은 대부분 퍼블릭 액세스를 허용했을 거라 생각이 든다. "RDS 퍼블릭 액세스" 라는 키워드로 구글링 해보면 다음과 블로그들이 많이 보인다. 예전에 나도 로컬 환경에서 RDS에 접근하려 하는데 접근이 막혔고 구글링해서 퍼블릭 액세스를 열어줬던 기억이 난다. 하지만 외부에서 DB에 접근 가능하도록 허용하는건 위험하다. EC2 인스턴스를 만들어서 RDS 사용할 것이라면 외부에서 접속할 수 없도록 하는 것이 더욱 안전한 방법이다. 퍼블릭 액세스를 막을 경우 외부에서 접근할 방법이 없지 않느냐? 할 수 있는데 이는 같은 VPC..