728x90

클라우드/쿠버네티스 21

[Kubernetes] 9. 쿠버네티스 kubeadm을 이용한 클러스터 구성

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ kubeadm 설치하기 이 페이지에서는 kubeadm 툴박스를 설치하는 방법을 보여준다. 이 설치 프로세스를 수행한 후 kubeadm으로 클러스터를 만드는 방법에 대한 자세한 내용은 kubeadm을 사용하여 클러스터 생성하기 페이 kubernetes.io Ubuntu 18.04 에서 진행하였고, Docker가 이미 설치되어있다는 가정하에 진행하였습니다. [ 설치 전 Check List ] 호환..

[Kubernetes] 8. 쿠버네티스 config와 kubectl의 context

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 [ Context란? ] kubectl은 클러스터에 명령을 내릴 수 있는 Command-Line 툴이다. 근데 이 kubectl이란게 어느 클러스트에 연결하여 사용할지 설정되어 있어야하는데, 특히 다중 클러스터 환경에서 Context를 설정해 주어야 kubectl이 어느 클러스터에 연결될지 결정된다. 예전에 minikube로 실습할 때, $ minikube start 명령은 자동으로 kubectl의 context를 minikube로 설정해주기 때문에 따로 kubectl의 context를 설정할 필요 없이 바로 minikube 클러스터에 명령이 가능했었..

[Kubernetes] 7. 쿠버네티스 volume 마운트

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 [ 디스크 볼륨 종류 ] Temp Local Network emptyDir hostPath GlusterFS gitRepo NFS iSCSI gcePersistentDisk AWS EBS azureDisk Fiber Channel Secret VshereVolume 다양한 방법으로 Pod에 볼륨을 마운트 가능하다. emptyDir : Pod가 생성될때 생성되고, Pod가 삭제 될때 같이 삭제되는 임시 볼륨 hostPath : 노드의 로컬 디스크의 경로를 Pod에서 마운트해서 사용. 같은 hostPath에 있는 볼륨은 여러 Pod 사이에서 공유되어 사용..

쿠버네티스 ContainerCreating 상태에서 멈출 시 해결방법

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 위처럼 Status가 62분 동안이나 ContainerCreating에 멈춰있으면, yaml 파일의 문법이 잘못되었거나 논리적으로 맞지 않다는 뜻이다. 처음에 그냥 yaml 파일 눈에 뚫어져라 확인하며 고쳤는데 그럴 필요 없이 $ kubectl describe pods describe 명령으로 오류를 쉽게 찾을 수 있다.. hostPath type check failed: shared is "not a directory" 나의 경우엔 위처럼 shared 가 디렉터리가 아니라는 오류가 떴다. 분명 shared는 디렉터리인데 왜 디렉터리가 아니라는걸까? ..

[Kubernetes] 6. 쿠버네티스 Service란? (NodePort, nginx 실습)

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 https://kubernetes.io/ko/docs/concepts/services-networking/service/ [ Service ] 위 그림을 보면, Service B는 10.10.10.2의 내부 아이피를 갖고있는 Pod와 그 옆에 10.10.10.3 ~ 10.10.10.4의 주소를 갖고 있는 Pod가 논리적으로 합쳐져 있음을 나타낸다. 물론 Service에도 내부 아아피가 부여되어있다. 마찬가지로 맨 밑에 그림처럼 Pod 하나만으로도 Service를 만들 수 있다. 즉 Service란, Pod의 논리적 집합이며 어떻게 접근할지에 대한 정책..

[Kubernetes] 5. 쿠버네티스 YAML configuration 파일

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 [ Configuration 파일의 3가지 구성요소 ] 1. metadata : 리소스의 라벨, 이름 등을 지정함 2. specificaion : 각 컴포넌트에 대한 상세 설명. 어떤 오브젝트 종류인지에 따라 다른 내용을 담는다. 3. status : 쿠버네티스가 자동으로 생성, 자신의 원하는 상태가 되도록 현재 상태를 기술 예를 들어 spec에 replicas가 2라고 명시되어 있지만 현재 상태인 status에는 1개 밖에 생성이 안됐기 때문에, 목표 상태로 맞추기 위해 replicas를 하나 더 생성하게 되는 것이다. 이외에 apiVersion은 ..

[Kubernetes] 4. 쿠버네티스 Minikube 설치 및 간단한 배포

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 [ Minikube ] Minikube는 쿠버네티스를 로컬에서 쉽게 실행하는 도구이다. Minikube는 매일 쿠버네티스를 사용하거나 개발하려는 사용자들을 위해 가상 머신(VM) 이나 노트북에서 단일 노드 쿠버네티스 클러스터를 실행한다. 사실 쿠버네티스를 구축하는 방법은 다양하지만, kubeadm으로 구축하는게 가장 기본인듯 하다. kubernetes에서 제공하는 기본적인 도구이며, kubernetes 클러스터를 가장 빨리 구축하기 위한 다양한 기능을 제공한다. 나는 로컬에서 학습용으로 사용하기에 Minikube를 설치했다. 이 글은 minikube ..

[Kubernetes] 2-1. 쿠버네티스 기초 개념 (Cluster, Pod, Node, Deployment)

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 [ Cluster 클러스터 ] 마스터와 마스터가 관장하는 노드들을 묶어놓은 전체를 클러스터라 한다. Control Plane인 Master는 자신의 클러스트를 관리할 책임이 있다. 노드는 하나의 physical computer가 될 수도, 하나의 VM이 될 수도 있다. [ Deployment 배포 ] 컨테이너를 만들면 그 위에 애플리케이션을 배포할 수 있다. 그러기 위해서 먼저 쿠버네티스 Deployment 설정을 먼저 만들어야 한다. 디플로이먼트는 쿠버네티스가 애플리케이션을 어떻게 생성하고 업데이트하는지 지시하는 일종의 시방서이다. 이 디플로이먼트를..

[Kubernetes] 3. 쿠버네티스 web Minikube 실습해보기

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 로컬 우분투에 minikube를 직접 설치하였는데, 뭔가 복잡하고 제대로 설치된지도 모르겠어서 그냥 web ui 방식으로 진행해보기로 했다. [목적] 샘플 에플리케이션을 minikube에 배포한다. 배포한 에플리케이션을 실행한다. 에플리케이션의 로그를 확인한다. [ minikube 클러스터 만들기 ] kubernetes.io/ko/docs/tutorials/hello-minikube/ Hello Minikube 이 튜토리얼에서는 Minikube와 Katacoda를 이용하여 쿠버네티스에서 샘플 애플리케이션을 어떻게 실행하는지 살펴본다. Katacode는..

[Kubernetes] 2. 쿠버네티스 Architecture

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다! 피드백 부탁드립니다. (- -)(_ _) 꾸벅 [Kubernetes 기본 구조] 쿠버네티스 하나의 클러스터에는 다음과 같이 기본적으로 이루어져 있다. Kubernetes Master (Control Plan Component) API Server : 쿠버네티스 control plan의 주 구성요소로, 기본적으로 REST-ful API 방식을 통해 명령을 주고받는다. 그렇기 때문에 API-server를 프런트 앤드로 두고 있다. Scheduler : Pod A를 돌리고 싶을 때 어디 Node에 할당할지 각 노드의 상황을 바탕으로 결정하는 스케줄러. 운영체제의 스케줄링을 생각하면 편할 것 같다. Co..

728x90