본문 바로가기

container12

Kubernetes EnvVar / 쿠버네티스, 패턴, pattern, 환경변수, dockerfile, env Kubernetes EnvVar Application은 서비스 접근, 분리 등등 다양한 케이스에서 설정이 필요 Application 내부에 환경변수를 설정하는것은 옳지 않음 Container영역에서 사용할 수 있도록 해주는 것이 EnvVar 👎bad case, 하드코딩된 기본 설정값을 사용하는 방식 예전에 Dockerfile에 대해 공부할 때 사용했던 ENV 명령어로 직접 정의 가능 https://dev-chicken.tistory.com/22 Container Image / 컨테이너 이미지, Kubernetes, Docker, Dockerfile Container Image 컨테이너 이미지는 root filesystem과 이미지 설정 정보로 저장 즉 이미지는 root filesystem에 복사되어 사용.. 2023. 1. 25.
Kubernetes Sidecar Container / 쿠버네티스, 사이드카, 컨테이너, 패턴, pattern Kubernetes Sidecar Container 기존에 사용중인 container의 변경 없이 기능을 확장하기 위해 활용되는 것이 Sidecar container Layer을 나눠서 기능별로 구분하여 사용하면 확장성과 재사용 측면에서 유리 이미 만들어진 container를 활용하여 추가 서비스를 붙이는 것으로, 시간 절약 / 리소스 효율화 등이 목적 독립적으로 구성 -> 확장성, 재사용에 유리한 이유 하나의 pod 에 배치되는 container는 pod의 정보를 공유함 즉, pod에서 내부의 container들이 volume을 공유하고, local network, host IPC를 통해 서로 통신이 가능하다는 뜻 주기적으로 외부에서 GIT정보를 동기화 해야하는 경우 Sidecar container를 .. 2023. 1. 23.
Kubernetes Pod Lifecycle / container, pod, 수명주기, 관리 Kubernetes Pod Lifecycle Cloud native한 container app은 스스로 lifecycle을 제어하기보단 Kubernetes와 같은 ochestration tool에 의해 lifecycle이 관리됨 관리플랫폼에 의해 이벤트를 받고, 응답하며 조절 Liveness probe, Readiness probe 와 연계되어 container의 상태를 Kubernetes가 알 수 있고, 정책이나 외부요인에 따라 시작이나 중지가 될 수 있음 어떻게 처리가 되는지는 각 container에 따라 미리 정의해둔 명세에 의해 동작을 함 추가로 probe 상태에 관계없이 따로 동작할 수도 있음 대표적으로 Kubernetes에서 제공하는 관리기능은 대표적으로 PreStop Hook, PostSta.. 2023. 1. 22.
Kubernetes Init Container / Pattern, 초기화 컨테이너, 이닛 컨테이너, 패턴 Kubernetes Init Container 초기화 관련 작업을 위해 개별적인 Life cycle을 갖는 Container Main application container과 분리된 개념 Main container가 실행되기 전 file system, seed data, 권한 설정들이 필요할 때 Init container를 통해 초기화 작업을 지원 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 26s default-scheduler Successfully assigned ~~~ Normal Pulled 25s kubelet Container image ~~~ Normal Created 25s kubel.. 2023. 1. 18.
Kubernetes Cronjob / 쿠버네티스, 크론잡, container, k8s, 반복, 크론잡 Kubernetes Cronjob Kubenetes에서 제공하는 기능 중 하나이며 Linux의 service + timer의 기능과 비슷 말그대로 Cronjob을 제공 특정 시간에 script를 실행하도록 한다거나.. 가능 apiVersion: batch/v1beta1 kind: CronJob metadata: name: test spec: schedule: "* * * * *" jobTemplate: spec: template: spec: containers: - name: chicken-test image: {{이미지 주소}} imagePullPolicy: Always command: ["python", "main.py"] args: ["env", "test"] env: - name: "chicken.. 2023. 1. 16.
User Namespace / Container 기초, 격리, 네임스페이스, 컨테이너, 간단정리, capabilities, 권한 User Namespace user ID와 group ID를 구분하여, container가 특정 user ID, group ID만 볼 수 있도록 구성 호스트에서는 권한이 없는 일반 유저를 container안에서는 root로 보여지도록 해주는 것 즉, 앞선 PID namespace와 같이 중첩된 권한을 갖게 된다는 뜻 보안적으로 host에 영향을 끼치지 않도록 도와줌 root@ubuntu1804:~# unshare -U nobody@ubuntu1804:~$ id -u 65534 nobody@ubuntu1804:~$ id -g 65534 nobody@ubuntu1804:~$ exit logout root@ubuntu1804:~# id -u 0 root@ubuntu1804:~# id -g 0 unshare -.. 2023. 1. 14.
반응형