POD
-
Kubernetes(K8S): DaemonSet & StatefulSet공부합시다!/Kubernetes 2023. 1. 4. 00:13
간단하게 말하자면 DaemonSet은 모든 Node 또는 특정 label를 가진 node에 하나씩의 동일한 pod를 배포해주는 resource, StatefulSet은 Pod(Pod내의 App)의 상태를 저장하고 관리하는 Resource 입니다. 1. DaemonSet 1.1. Worker Node의 Resource Mornitoring용 App 이나 Log 수집기를 배포할 때 사용됨 1.2. Pod를 Node에 하나씩 배포 - 별도의 Replicas를 설정하지 않음. 1.3. DaemonSet이 구동중인 Cluster에 Node가 추가되면 해당 Node에도 DaemonSet Pod가 배포됨. 1.4. 삭제된 DaemonSet Pod가 다른 Node로 이동하지는 않음. apiVersion: apps/v1..
-
Kubernetes(K8S): Multi Container POD공부합시다!/Kubernetes 2023. 1. 2. 00:11
1. 멀티 컨테이너 파드(Multi Container POD): 1.1. POD내에 2개이상의 Container를 포함 1.2. 일반적으로는 하나의 POD안에는 하나의 Container를 지향 1.3. 필요에 따라서 Main Container에 도움을 줄 수 있는 보조적인 역할의 Container를 추가해서 운영가능 1.4. Main Process를 Network 또는 Storage의 밀접한 공유가 필요한 다른 Container와 함께 운영할 때 고려 2. Kubernetes 설계 방식 - 전체 서비스를 기능 단위로 분산, Pod를 최소의 배포 단위로 구성 2.1. 동일 Pod내의 Container들은 같은 네트워크 안에서 동작 2.2. 동일한 IP주소와 Port를 공유 2.3. 따라서 동일한 Port를..
-
Kubernetes (K8S): Object - 2. POD공부합시다!/Kubernetes 2022. 12. 30. 16:32
1. 개요 1.1. K8S 구성요소 중 가장 작은 단위 1.2. Cluster의 Running Process 1.3. K8S의 Container 역할 1.3.1. docker 에서는 단일 Container가 가장 작은 단위의 객체 1.3.2. K8S에서는 POD 내에 여러 Container 존재 - 권장하지 않습니다. 1.4. POD내의 Container 들은 IP주소와 Port 공간을 공유, Localhost를 통해서 서로 검색가능 2. LifeCycle 2.1. Pending 2.1.1. POD가 K8S에 의해서 승인 2.1.2. 아직 Container 이미지가 생성이 완료되지 않은 상태 2.1.3. node에 배치되기 이전 시간 및 이미지 다운로드 시간 포함 2.2. Running 2.2.1. PO..
-
Kubernetes(K8S): yaml 파일 분석공부합시다!/Kubernetes 2022. 12. 29. 09:08
K8S에서는 Object를 생성하기 위해서 yaml or json 형식을 파일을 작성합니다. 물론 yaml(야믈) 파일로 작성하는 것을 권장합니다. 일단 식별하기 쉬워서 그렇겠지요! 오늘은 우리가 작성하는 yaml 정확히는 구성파일이라고 합니다. POD, Service, Deployment에 대해서 분석해 보겠습니다. 긴 말 필요없이 한장짜리 그림으로 요약해 봤습니다. 1. POD와 Deployment 2. Service
-
Kubernetes (K8S): Network - 1. Container Networking공부합시다!/Kubernetes 2022. 12. 27. 13:56
이제부터 K8S에서 가장 어렵다는 Network에 대해서 공부해 보겠습니다. 기본적으로 Subnet, Router, Bridge, Routing, IPtables에 대한 개념을 알고 계셔야 합니다. 모르시는 분들이 보면 더 힘들어지니 Pass 하시기 바랍니다. 하나의 POD에는 하나의 Container만을 실행하는 것을 권장합니다. 만일 단일 POD에 여러대의 Container를 생성했다면 Container는 어떻게 통신을 할까요? Docker때 공부했던 Host Network를 POD안으로 집어넣으시면 됩니다. 즉 POD가 Host의 역할을 한다고 생각하시면 되세요! 아래 그림을 참조하면서 설명을 드리겠습니다. 1. pause container 1.1. pause는 별도로 생성하는 container가 ..
-
Kubernetes (K8S):실습1: 동일POD내의 wordpress + mysql공부합시다!/Kubernetes 2022. 12. 23. 10:47
모든 실습의 끝은 wordpress + mysql 접속 입니다. 오늘은 단일 pod내에서 wordress container와 mysql:5.7 container를 생성, pod를 nodeport로 연결해서 외부에 서비스하는 실습을 진행하겠습니다. 동일 pod내애서 두 개이상의 container를 실행하는 것을 MultiContainer라고 합니다. 기억해두세요! -> Multi Container 유형 sidecar adapter ambassador K8S에서는 pod에는 한 개의 Container를 지향합니다. 이런 구성은 권장하지 않습니다만 학습용으로! 아 그리고 꼭 kubectl cheat sheet 한번들 읽어 보세요! https://kubernetes.io/docs/reference/kubectl..
-
PODMAN: POD 구성 및 wordpress + mysql공부합시다!/Container 2022. 12. 15. 00:13
외부에 노출을 해야하는 서비스와 그렇지 않은 서비스가 동시에 존재한다면....... POD를 구성해서 서비스 하시면 쉽게 해결이 됩니다. POD 구성시 노출 해야할 Port를 지정하고 그렇지 않은 서비스는 POD에서 Port를 노출하지 않고 hostname 으로 접속이 가능합니다. 해서 오늘은 POD 구성은 Wordpress를 외부에 노출하고 mysql은 port를 노출하지 않고 hostname으로 구성하는 실습을 진행하겠습니다. 1. port를 지정하지 않는 pod 생성 1.1. pod 생성 1.2. container 생성 error 2. port를 지정하는 pod 생성 2.1. POD 생성 # podman pod create --name portpod -p 60080:80 --hostname mysq..
-
PODMAN: POD공부합시다!/Container 2022. 12. 14. 00:12
pod란 개념은 K8S에서 유래 되었다. pod란 Container를 실행하는 최소 단위이며 하나, 또는 그 이상의 Container가 실행되는 환경이다. PODMAN의 pod 역시 이와 유사하게 정의되어 있다. 1. 구조 및 Infra Container 1.1. 모든 Podman pod에는 infra container가 포함되어 있음. 1.2. Infra container는 아무 작업도 수행하지 않지만 sleep mode로 전환되지는 않는다. 1.2.1. 중요 정보 저장 및 Pod 유지 1.3. Infra Container는 팟(Pod)과 연관된 NameSpace를 보유 1.4. Podman이 pod내의 다른 Container에 연결할 수 있도록 함. 1.4.1. 이렇게 함으로서 pod 내의 Conta..