ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • k8s Object 기본 간략 정리
    Computer Science/k8s 2023. 2. 12. 20:19

    pod - container 들을 모아서 실행하는 곳.

    언제든 종료될 수 있으며 재실행 될 때 마다 ip가 변동된다.

    label을 달 수 있다. (key value)

    한 pod에서 같은 port의 container 실행 불가.

    memory 가 초과 된다면 종료 되지만 Cpu는 초과되도 해당 Limit로 낮추려고 한다.

     

    service - 종료되지 않고 고정 ip로써 떠 있어서 pod들을 연결해준다.

    ClusterIp 방식 - 내부 ip로만 접근할 수 있으며 관리하는 pod들에게 연결해준다.

    NodePort 방식 - 해당 NodePort로 들어와도 Service로 간다음 Service에서 관리하는 pod들로 연결해준다. 따라서 a node에 접근해도 a node의 들어가고자 하는 pod로 연결되지 않을 수 있다. 해당 node의 pod로 접근하고 싶다면 externalTrafficPolicy:Local을 설정해주어야한다.

    Load Balancer 방식 - 외부 ip로 접근하며 pod들을 연결해준다. External IP 지원 Plugin이 필요한데 GCP, AWS, Azure, OpenStack에서는 자동으로 지원해준다.

     

    volume - Container 끼리 공유하는 공간.

    emptyDir 방식 - Pod 내부에 생성. Pod 생성시 만들어지고 삭제시 사라진다.

    hostPath 방식 - Node에서 생성. Pod 끼리 공유 가능. Node가 다른곳에 Pod가 생성될시 공유가 안된다. 사전에 생성되어 있어야함.

    PVC/PV 방식 - Admin 에서 PV 를 만들어놓으면 해당 PV를 PVC를 이용하여 연결한다. 이 PVC를 pod에서 연결해서 사용한다.

     

    ConfigMap, Secret- 단순 환경관련 세팅 및 암호들을 사용하는 공간.

    ConfigMap - key value 로 값을 가지고 있음.

    Secret - base64로 암호화 해서 key value 값을 가지고 있음. 메모리에 저장되어 있어서 조금더 안전함.

     

    Literal 로 집어 넣을때

    secret의 경우 decording 되어서 넣어짐.

    File 로 집어 넣을때

    환경 변수로서 값이 넣어지기 때문에 나중에 file의 config 값이 변경되더라도 변동된 값이 적용되지 않음.

    Volume Mount로 집어 넣을때

    원본이 변하게되면 mount된 내용도 변하게됨.

     

    Namespace - object들의 논리적 결합 장소.

    - 같은 종류의 Object는 이름이 중복될 수 없다.

    - Namespace 를 삭제시 안의 자원들도 같이 삭제된다.

    - Namespace 가 다르면 연결하려는 pod의 label등이 같아도 연결되지 않는다.( 별도로 label을 가지고 있다고 생각하면 된다 )

     

    ResourceQuota - Namespace 의 자원 설정

    - Namespace의 최대 메모리, 필요 메모리 등을 설정할 수 있다.

    - 설정 시 pod들은 메모리 설정값이 없다면 만들어지지 않는다.

     

    LimitRange - Namespace에 들어오는 object의 자원 설정

    - Namespace에 들어오려는 object들의 memory값의 최대 최소, 그 비율등을 제한할 수 있다.

    - Namespace에 들어오려는 object들의 기본 memory 값의 최대 최소를 결정해 줄 수 있다.

     

    'Computer Science > k8s' 카테고리의 다른 글

    k8s service  (0) 2023.03.04
    k8s deployment  (0) 2023.03.04
    aws eks worker node 생성  (0) 2023.03.04
    aws eks kubectl 연동 과정.  (0) 2023.03.02
    k8s Controller 기본 정리  (0) 2023.02.12
Designed by Tistory.