본문 바로가기

k8s

(22)
(Kubernetes) - container와 local간 file 이동 🍳머리말 Kubernetes상에서 container와 local간 file 이동방법입니다. kubectl는 자체적으로 cp 명령어를 지원합니다. 📕Container -> Local 📔 명령어 kubectl cp [옮길 file path] [pod name]:[원하는 pod안 file path] 📕Local -> Container 📔 명령어 kubectl cp [pod name]:[원하는 pod안 file path] [옮길 file path]
(Kubernetes) - application에 data 주입 4 🍳머리말 환경 변수로 container에 pod 정보를 노출하는 방법 설명글입니다. k8s cluster가 있어야하며 node가 적어도 3개 있어야 합니다. 📕환경 변수로 container에 pod 정보 노출 📔 설명 pod 및 container field를 실행 중인 container에 노출하는 두 가지 방법이 있습니다. 환경 변수 volume file pod 및 container field를 노출하는 이 두 가지 방법을 downward API라고 합니다. 📔 예시 📑 pod field를 환경 변수의 값으로 사용 하나의 container를 가진 pod를 생성합니다. dap1-envars-pod.yaml apiVersion: v1 kind: Pod metadata: name: dapi-envars-fie..
(Kubernetes) - application에 data 주입 3 🍳머리말 container를 위한 환경 변수를 정의하는 설명글입니다. k8s cluster가 구축되어 있어야하며 node는 3개 이상이어야 합니다. 📕container를 위한 환경 변수 정의 📔 설명 pod를 생성할 때, pod안에서 동작하는 container를 위한 환경 변수를 설정할 수 있습니다. 환경 변수를 설정하려면 구성 file에 env나 envFrom field를 포함시켜야 합니다. 📔 예제 이 예제에서, 한 개의 container를 실행하는 pod를 생성합니다. pod를 위한 구성 file은 DEMO_GREETING 이라는 이름과 "Hello from the environment"이라는 값을 가지는 환경 변수를 정의합니다. envars.yaml apiVersion: v1 kind: Pod m..
(Kubernetes) - application에 data 주입 2 🍳머리말 종속 환경 변수 정의하는 설명글입니다. k8s cluster, node 3개 이상 필요합니다. 📕Container를 위한 종속 환경 변수 정의 📔 설명 pod 생성 시, pod 안에서 동작하는 container를 위한 종속 환경 변수를 설정할 수 있습니다. 종속 환경 변수를 설정하려면, 구성 file에 env의 value로 ${변수명}을 사용합니다. 📔 예제 한 개의 container를 실행하는 pod 생성. pod를 위한 구성 file은 일반적인 방식으로 정의된 종속 환경 변수를 정의합니다. 다음은 pod를 위한 구성 manifest 예시입니다. dependent-envars.yaml apiVersion: v1 kind: Pod metadata: name: dependent-envars-dem..
(Kubernetes) - application에 data 주입 1 🍳머리말 container 위한 command, 인자 정의하는 방법. k8s cluster가 필요합니다. 또한 node가 control plane포함 3개인 cluster에서 실행하는 것이 좋습니다. 📕Pod 생성시 command, 인자 정의 📔 설명 pod를 생성할 때, pod 안에서 동작하는 container를 위한 command와 인자를 정의할 수 있습니다. command를 정의하기 위해선 pod 안에서 실행되는 container에 command filed를 포함시킵니다. command에 대한 인자를 정의하기 위해 구성 file에 args field를 포함시킵니다. 정의한 command와 인자들은 pod가 생성되고 난 이후에 변경될 수 없습니다. 구성 file 안에서 정의하는 command와 인자들..
(Kubernetes) - Custom Resource 🍳머리말 k8s docs 복붙글입니다. CR(Custom Resource)에 대해 설명합니다. 📕 Custom resource 📔 정의 k8s API의 extension입니다. Resource는 k8s API에서 특정 종류의 API object 모음을 저장하는 endpoint입니다. 예로는 built in pod resource에는 pod object모음이 포함되어 있습니다. 확장이므로 기본 k8s 설치시 반드시 사용할 수 있는 것은 아닙니다. 하지만 많은 기능에서 custom resource는 사용해 구축되어 k8s를 더욱 module화합니다. 동적으로 api를 등록해 실행 중인 cluster에서 custom resource가 나타나거나 사라질 수 있으며 cluster 관리자는 cluster 자체와 독..
(Kubernetes) - operator pattern 🍳머리말 k8s docs 복붙글입니다. 📕 Operator 📔 정의 operator는 CustomDefinitionResouce를 사용해 application 및 해당 component를 관리하는 k8s의 software extension입니다. Operator는 k8s 원칙, control loop를 따릅니다. 📔 목표 operator pattern은 service 또는 service set을 관리하는 운영자의 주요 목표를 포착하는 것을 목표로 합니다. 특정 application 및 service를 돌보는 운영자는 system의 작동 방식, 배포 방법 및 문제가 있는 경우 대처 방법에 대해 깊이 알고 있습니다. k8s에서 workload를 실행하는 사람들은 반복 작업을 처리하기 위해 자동화를 사용하는 ..
(Kubernetes) - init container 🍳머리말 k8s docs 복붙글입니다. 📕 Init container 📔 역할 pod의 app container들이 실행되기 전에 실행되는 특수한 container며 app image는 없는 utility, 설정 script등을 포함할 수 있습니다. 초기화 container는 containers 배열과 나란히 pod spec에 명시할 수 있습니다. 📔 일반 container와 유사점 항상 완료를 목표로 실행됩니다. 각 초기화 container는 다음 init container가 시작되기 전에 성공적으로 완료되어야 합니다. 📔 일반 container와 차이점 초기화 컨테이너는 앱 컨테이너의 리소스 상한(limit), 볼륨, 보안 세팅을 포함한 모든 필드와 기능을 지원합니다. 그러나, 초기화 컨테이너를 위한..