이번 포스팅은 K8S가 어떤 설계 개념을 토대로 디자인 되었는지 알아본다.Saad Ali라는 구글 개발자는 다음 규칙을 바탕으로 K8S를 설계했다.1\. Kubernetes APIs are declarative rather the imperative2\. No hidd
Downward API Downward API는 생성된 pod에 대한 정보를 알 수 있는 리소스다. pod가 생성되기 전에 알 수 없는 pod의 manifest나 속성들은 알 수 있는 것이다. Downward API는 kube-API 서버로부터 정보를 얻어 환경변수나
cgroup은 control group의 준말로 컨테이너 생성에 있어서 기초되는 개념이다. 컨테이너가 생성될 때 저수준 런타임 단계에서 linux kernel의 namespace와 cgroup을 이용해서 컨테이너를 만들고 실행시킨다. 여기서 cgroup은 호스트 리소스
cri-o: v1.19.2kubeadm: v1.19.4kubectl: v1.19.4kubelet: v1.19.4keepalived: v2.1.5virutal IP: 192.168.9.10master1 IP: 192.168.9.235master2 IP: 192.168.9
kubeadm을 이용하여 crio runtime을 기반으로 k8s cluster를 구축한다. cri-o: v1.19kubeadm: v1.19.4kubectl: v1.19.4kubelet: v1.19.4master1: 192.168.9.237worker1: 192.168
1\. registry.tar와 사용할 image 파일 준비2\. 노드에 podman 설치3\. Image upload 4\. Image registry 컨테이너 실행5\. 확인tar 파일을 이용하여 이미지를 load 생성된 registry image 확인
다음과 같이 systemctl status kubelet을 통해서 kubelet의 상태를 확인해보면 Drop-in에 10-kubeadm.conf라는 파일이 존재한다. 이 파일의 용도가 궁금해져서 이를 글로 남겨 둔다. kubeadm init을 통해서 kubelet을 a
컨테이너 런타임에 대한 표준으로 컨테이너를 실행하기 위한 저수준 런타임쿠버네티스 측에서 제공하는 컨테이너 런타임 추상화 계층컨테이너 런타임은 크게 저수준 런타임과 고수준 런타임으로 나뉜다.저수준 런타임namespace와 cgroup을 이용해서 컨테이너 자체를 만드는 일
dockerENTRYPOINT: 컨테이너 내부에서 실행되는 파일CMD: 실행파일에 전달되는 인자K8Scommand: 실행파일에 전달되는 인자args: 컨테이너 내부에서 실행되는 파일파일 시스템을 비어 있지 않은 디렉터리에 마운트할때 발생하며새롭게 마운트된 파일 시스템의
Deployment 과 ReplicaSet 무슨 차이? ReplicaSet이 replicas를 조절하면서 pod의 수를 조절하는데 왜 굳이 Deployment를 사용할까? deployment는 pod의 수를 조절하기 위함이 아닌 replicaSet을 버전에 따라 관리하
동일한 네트워크 환경을 공유 한 pod 내부의 컨테이너들은 모두 같은 네트워크 환경을 공유한다. 이는 각 컨테이너들이 동일한 네트워크 네임스페이스 안에 속하기 때문이다. 한 pod 내의 컨테이너들은 로컬 호스트를 통해서 네트워크를 공유할 수 있으며, 이 뜻은 서로 동일
L3 기반 오버레이 네트워크를 구축하게 도와주는 CNI 플러그인calico CNI 설치시 calico-node라는 daemonset 생성calico는 etcd, felix, bird, confd로 구성된다. etcd는 k8s control plane의 etcd로 사용되
통신 과정pod1의 veth => cali동일 노드 내 pod to pod 통신은 tunl 인터페이스가 관여Xcali통신 과정pod1의 veth => cali- pod에서 외부로 통신시에는 호스트의 네트워크 인터페이스 IP 주소로 마스커레이딩(출발지 IP로 변경)되어서
https://kubernetes.io/ko/docs/tasks/tools/included/optional-kubectl-configs-bash-linux/이걸 이제서야 사용하다니...