k8s 134

Pod 실행 명령어와 매개변수 지정

2021.07.05 - 컨테이너 실행 시 매개변수 지정 위 글에서는 도커에서 컨테이너를 실행할 때 명령어로 또는 Dockerfile에서 실행 CMD나 매개변수를 지정하는 방법에 관해 적었다. 쿠버네티스에서도 비슷하게 Pod 생성 시 실행할 명령어와 매개변수를 지정할 수 있다. pod를 정의하는 yaml 파일에 command와 args를 추가하면 된다. apiVersion: v1 kind: Pod metadata: name: ubuntu-sleeper-pod spec: containers: - name: ubuntu-sleeper image: ubuntu-sleeper command: ["sleep"] # Entrypoint in Dockerfile args: ["10"] # CMD in Dockerfil..

Namespace

Namespace 동일한 물리 클러스터를 기반으로 하는 가상 클러스터 Default Namespace 클러스터를 처음 설정할 때 쿠버네티스에 의해 자동으로 생성된다. kube-system 쿠버네티스 시스템에서 생성한 오브젝트를 위한 네임스페이스 생성한 포드와 서비스를 사용자에게서 격리하여, 실수로 서비스를 삭제하거나 수정하지 않도록 한다. kube-public 인증되지 않은 사용자를 포함하여 모든 사용자가 읽기 권한으로 접근할 수 있는 자동 생성 네임스페이스 네임스페이스 내의 리소스는 이름으로 지칭할 수 있다. 다른 네임스페이스와 통신하기 위해서는 ..svc.cluster.local 형식의 DNS를 사용해야 한다. DNS에서 cluster.local은 쿠버네티스의 기본 도메인 이름이며, svc는 서비스의..

Pod

Pod 컨테이너가 캡슐화되는 개체로, 애플리케이션 단일 인스턴스 쿠버네티스에서 생성할 수 있는 가장 작은 단위 애플리케이션 확장/축소를 위해 스케일 업/다운 시 pod를 추가 생성하고 삭제한다. 일반적으로 애플리케이션을 실행하는 컨테이너와 일대일 관계이다. Multi-Contianer Pods pod 내에는 다수의 컨테이너가 존재할 수 있다. 하지만 동일 컨테이너가 어려 개 존재할 수 없다. Multi-Contianer Pod 내 컨테이너는 동일한 네트워크 네임스페이스를 공유하기 때문에 서로 직접 통신할 수 있을 뿐만 아니라 스토리지 공간 공유도 용이하다. 참고 문서 https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/explore/explore-int..

쿠버네티스 구조

노드; Node 쿠버네티스가 설치된 물리 또는 가상 머신 컨테이너가 호스팅 된다. 미니언이라고 알려지기도 했다. 고가용성을 확보하기 위해서는 두 개 이상의 노드가 필요하다. 클러스터; Cluster 그룹화 상태인 노드의 집합 노드 하나에 장애가 발생해도 다른 노드를 통해 애플리케이션을 사용할 수 있다. 즉, 고가용성이 확보된다. 부하 분산에 도움이 된다. 마스터; Master 쿠버네티스를 설치하고 마스터로 설정한 노드 클러스터에 있는 노드를 감시하면서 워커 노드 컨테이너의 실제 오케스트레이션을 담당한다. 구성 요소 API 서버 쿠버네티스 프런트엔드 역할을 담당한다. 사용자, 관리 장비, 커맨드 라인 인터페이스는 API 서버를 통해 쿠버네티스 클러스터와 상호작용한다. ETCD 서비스 쿠버네티스에서 클러스터..