본문 바로가기

Containers22

명령형 명령어 1. replication controller(pod) 생성 kubectl run myapp-httpd --image=httpd --port=80 --generator=run/v1 kubectl run 명령을 사용하여 replication controller를 생성했다. controller의 이름 = myapp-httpd container에 사용할 image = httpd application port = 80 --gernerator 일반적으로 사용하지는 않는다. 이 옵션으로 복제 컨트롤러를 사용하여 파드를 생성한다. 사용하지 않으면 deployment object가 생성된다. 참고 https://kubernetes.io/docs/reference/kubectl/conventions/#generators.. 2020. 7. 23.
Object 관리 1. kubernetes object kubernetes는 cluster의 상태를 나타내기 위해 오브젝트 개체를 정의하여 사용 kubernetes에서 object를 생성할 때, object에 대한 기본적인 정보와 함께 의도한 상태를 기술한 object spec을 제시해야 함. object를 생성하기 위해 YAML 또는 JSON 파일을 작성 kubectl 명령에 object가 정의된 YAML 또는 JSON 파일 제공 kubectl은 JSON 형식으로 정보를 변환시켜 API 요청을 함. pod object를 기술한 간단한 YAML 파일 예제 apiVersion: v1 kind: Pod metadata: name: myweb-pod lables: app: myweb type: frontend spec: con.. 2020. 7. 22.
YAML 1. YAML이란? 사람이 읽고 쓰기 쉽게 데이터를 정의하는 양식 XML, C, Python, Perl, RFC2822(인터넷 메시지 포맷)에서 정의된 개념을 기반으로 만들어짐 데이터의 직렬화를 위해 많이 사용함. 2. YAML 요소 YAML은 모든 데이터를 scalar, list, hash로 표현한다. scalar / string 스칼라 : 단순한 문자 또는 문자열 hello I am kubernetes 'I am kubernetes' list / array - 로 시작해야하며 한줄에 하나의 요소를 표현 key: - value1 - value2 - value3 key: [value1, value2, value3] hash / dictionary key: key1: value1 key2: value2 k.. 2020. 7. 22.
kubernetes 구성 요소 및 API kubernetes cluster는 마스터와 노드 구성요소가 있고, 추가요소가 있다. 이런 구성요소들은 API를 통해 메시지를 주고받는다. 1. 마스터 클러스터의 Control plane을 제공 클러스터에 대한 전반적인 결정(ex. scheduling)을 수행 클러스터 이벤트를 감지하고 이에 대응 production 환경에서는 멀티 마스터 환경을 구성 3대 이상 만드는게 좋다. 1) API server (kube-apiserver) 쿠버네티스 클러스터의 모든 구성요소들은 마스터의 API 서버와 메시지를 주고받는다. control plane에 대한 frontend를 담당한다. 2) etcd 쿠버네티스 클러스터의 모든 정보데이터를 저장하는 일관성과 고가용성을 지원하는 키-값 저장소 key가 있으면 이에 해당.. 2020. 7. 22.