본문 바로가기

Kubernetes24

Kubernetes Affinity / 쿠버네티스, Affinity, Node, Pod, Scheduling, values list Kubernetes Affinity Affinity란 간단하게 설명하자면 원하는 Node에 Pod를 배치해주는 기능이다. Affinity외에도 taint&toleration, cordon과 같은 기능으로 노드에 스케쥴링하는 것을 컨트롤 할 수 있다. Affinity는 원하는 노드에 설치하도록 하는 성향이 강하고, taint&toleration은 일부 Node에 특정 Pod만 스케쥴링하는 성격, cordon은 노드 점검과 같은 것이 필요할 때 전체 스케쥴링 제외를 하는 것으로 보면 된다. https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/ Assign Pods to Nodes using .. 2023. 1. 21.
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.
Container Image / 컨테이너 이미지, Kubernetes, Docker, Dockerfile Container Image 컨테이너 이미지는 root filesystem과 이미지 설정 정보로 저장 즉 이미지는 root filesystem에 복사되어 사용되는 것이고, Dockerfile과 같은 이미지 build관련 설정 명령어들로 이루어지는 것 - Dockerfile 이미지 build 관련 명령어들을 저장 아래 표에 간단하게 명령어들을 정리해봤다. 명령어 동작 FROM Base Image를 지정하는 것 FROM alpine:3.10과 같이 사용 ADD 파일을 이미지에 복사하여 추가 ADD test.zip / 보통 압축 해제할 때 사용 COPY ADD와 비슷한 기능을 함, 복사 COPY test.sh /copy-test.sh RUN shell 커맨드를 사용한다고 보면 됨 apt-get update 커.. 2023. 1. 11.
주니어 개발자의 자동화에 대한 고민 / CICD, 개발, 자동화, 모니터링, 알람, 처리 개발자와 자동화는 뗄레야 뗄수없는 관계인 것 같다. 아직 내가 개발을 잘하는 것도 아니고, 그렇다고 경험이 많은 것도 아니지만 항상 어떤 일을 하게되든 고민을 하게되는 포인트이다. 일을 하면서 계속 고민했던 부분에 대해서 정리를 해보려고 한다. 첫 CI/CD 적용 모 회사를 다닐 때.. 내가 맡은 업무 중 하나는 웹소켓서버였다. 대충 웹소켓 서버라고 하면 client랑 server가 계속 연결된 상태로 이벤트를 주고받는 서버라고 보면 될 것 같다. 어떤 서버인지는 사실 크게 중요한건 아니고.. 당시에 AWS서비스를 썼기 때문에, AWS 서비스 중 Code Pipeline을 통해서 CI/CD를 처음 적용했다. 이렇게 CICD를 적용하기 전에는 서버에 직접 들어가서 git pull을 받고.. build도 하.. 2023. 1. 5.
Docker vs Containerd / Container runtime, 쿠버네티스, 도커, 차이점, 장단점 Container Runtime 때문에 문제가 생겼던 적이 있었다... Containerd와 Docker를 혼용하다가 생긴 문제였다. 다들 알다시피 Kubernetes version 1.24부터 Docker를 사용하지 못하게 됐다. 더보기 Dockershim Removed from kubelet After its deprecation in v1.20, the dockershim component has been removed from the kubelet in Kubernetes v1.24. From v1.24 onwards, you will need to either use one of the other supported runtimes (such as containerd or CRI-O) or use.. 2023. 1. 4.
반응형