Container 19

[Kubernetes] Kubernetes Study: "Pod - Lifecycle"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 "Pod - Lifecycle" 강의를 듣고 정리한 포스트입니다. Pod 라이프사이클 사람이 태어나서, 성장하고, 다시 자연으로 돌아가는 과정처럼, 파드에게도 정의된 라이프사이클이 있습니..

IT/Kubernetes 2021.08.01

[Kubernetes] Kubernetes Study: "기본 오브젝트 - Namespace & ResourceQuota & LimitRange"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 마지막으로 "기본 오브젝트 - Namespace & ResourceQuota & LimitRange"를 다뤄봅니다. Namespace & ResourceQuota & LimitRange ..

IT/Kubernetes 2021.06.30

[Kubernetes] Kubernetes Study: "기본 오브젝트 - ConfigMap & Secret"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 "기본 오브젝트 - ConfigMap & Secret"을 다뤄봅니다. ConfigMap & Secret 컨피그맵은 키-값 쌍으로 보안이 필요하지 않은 데이터를 보관하는 데 사용하는 오브젝..

IT/Kubernetes 2021.06.29

[Kubernetes] Kubernetes Study: "기본 오브젝트 - Service"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 "기본 오브젝트 - Service"를 다뤄봅니다. Service 서비스는 파드 집합에서 실행중인 애플리케이션을 네트워크로 노출하는 방법입니다. 앞서 설명드렸듯, 파드는 재생성이 되면 클러..

IT/Kubernetes 2021.06.27

[Kubernetes] Kubernetes Study: "기본 오브젝트 - Pod"

Prologue 본 포스트는 인프런 쿠버네티스 스터디 그룹에서 진행하는 스터디 자료의 일환으로 작성하였습니다. 기본적으론 [대세는 쿠버네티스] 강의를 보고 내용을 정리합니다. 그리고 제 경험이나 이해를 곁들여 포스트를 작성했습니다. 그동안 공식 문서나 블로그 포스트, CKA 강의 등 다양한 경로로 쿠버네티스를 익혀왔지만, 한국어로 잘 정리된 강좌를 한번 듣고 깔끔하게 다듬어보는 시간을 가지면 좋겠다는 생각이 들었습니다. 강의와는 조금 다를 수 있지만, 쿠버네티스 공식 문서를 보고 내용을 정리해보겠습니다. 이번 포스트에선 "기본 오브젝트 - Pod"를 다뤄봅니다. Kubernetes Object 공식 문서에 따르면 쿠버네티스 오브젝트는 쿠버네티스 시스템에서 영속성을 가지는 오브젝트이며, 쿠버네티스는 클러스..

IT/Kubernetes 2021.06.27

[Kubernetes] 깔끔하게 kubeadm reset 하기

Prologue 클러스터를 잘못 구축했을 때, 이거 저거 생각할 필요 없이 클러스터를 날려버리고 싶었습니다. 단순히 kubeadm을 이용해 배포하는 단계부터 다시 시작하고 싶었기 때문입니다. 예전에 찾아둔 방법인데, 이제야 공유합니다. kubeadm을 이용해 클러스터를 구축했을 때 사용할 수 있는 방법이니 참고해주세요! Docker Reset # Docker 초기화 $ docker rm -f `docker ps -aq` $ docker volume rm `docker volume ls -q` $ sudo umount /var/lib/docker/volumes $ sudo rm -rf /var/lib/docker/ $ sudo systemctl restart docker kubeadm Reset # kub..

IT/Kubernetes 2021.06.22

[Kubernetes] kubeadm을 이용해 Kubernetes 클러스터를 구축해보자

프롤로그 지난 포스트 "[containerd] containerd를 CRI 런타임으로 하는 Kubernetes 클러스터를 구축해보자" 에 이어서 이번엔 Kubernetes 클러스터를 구축해보겠습니다. 본 포스트에선 이미 CRI 런타임이 설치되어 있다고 가정하고 kubeadm을 이용해 클러스터를 구축합니다. 만약 CRI 런타임이 설치되어 있지 않다면, 위 포스트를 참고하여 CRI 런타임부터 설치해주세요! 추가로, 이 포스트는 개발 환경에서 사용하기 위해 간단하게 구축하는 방법을 소개합니다. 실제 프로덕션 환경에서 사용하셔서는 안 됩니다! 추가에 추가로, 가장 간단하게 로컬에 Kubernetes 클러스터를 구축하는 방법은 minikube를 사용하시거나 docker for mac 등을 사용하셔서 해당 프로그램..

IT/Kubernetes 2021.06.21

[containerd] containerd를 CRI 런타임으로 하는 Kubernetes 클러스터를 구축해보자

Prologue 사내에서 테스트 용도로 사용할 쿠버네티스 클러스터가 필요해서 급하게 VM을 만들고 구축을 하려던 참이었습니다. 이전에 올렸던 글에서 소개드린 것처럼, 1.20 릴리즈부터는 Docker가 Deprecated 되었다는 것이 생각나서, 이참에 containerd로 클러스터를 구축해보자는 생각이 들어 이렇게 진행하게 되었습니다. 본 포스트에서는 Ubuntu 18.04 위에서 containerd를 설치합니다. Kubernetes 클러스터 구축 과정은 별도의 포스트로 다룰 예정이니 참고해주세요! 그리 어렵지 않으니 쉽게 따라하실 수 있습니다. Kubernetes 클러스터 구축 과정을 다룬 포스트가 올라왔습니다. 여기를 참조해주세요! containerd 설치를 위한 사전 작업 우선 containerd..

IT/containerd 2021.06.19

[Docker] 도커 재시작 없이 CA 인증서만 업데이트하는 방법

Prologue 그동안 사내에서 Private Registry를 구축해서 사용하다보니, HTTPS 인증 때문에 인증서 파일을 업데이트하고 도커 데몬을 재시작해주어야 하는 경우가 종종 있었습니다. 만약에 도커 데몬을 재시작하지 않은 상태로 Login을 시도하면 아래와 같은 에러가 발생합니다. Error response from daemon: Get https://192.168.1.1/v1/users/: x509: certificate signed by unknown authority하지만 매우 중요한 프로세스가 운용되고 있는 노드에 대해선 도커 데몬을 재시작하는 것이 상당히 부담이 되었습니다. 경험상 도커를 재시작하고나서 정상적으로 실행되지 않는 프로세스들이 몇몇 있었기 때문입니다. 때문에 Private ..

IT/Docker 2021.05.28

[containerd] 인증서 등록에도 불구하고 private registry로부터 image pull이 안 될 경우

문제 상황 새로운 Private Registry (Harbor)를 구축하고 CA 인증서를 호스트에 등록 및 config.toml 파일까지 업데이트 해주었음에도 불구하고 Image Pull 작업을 요청하면 401 에러가 발생하였습니다. config.toml 파일을 어떻게 업데이트하여야 하는지는 추후 포스트에서 다루겠습니다. 임시 해결 방법 아래 명령어처럼 image를 가져올 때 --user USERID:PASSWORD 인자를 추가로 넘겨 주면, 정상적으로 이미지를 가져옵니다. 하지만 근본적인 해결책은 될 수 없으므로 해당 문제를 완전히 해결할 수 있는 방법을 찾으면 업데이트 하도록 하겠습니다. $ sudo ctr images pull --user USERID:PASSWORD IMAGE_PATH 마무리 여기..

IT/containerd 2021.05.26