노트북 사양이 부족한 관계로 멀티 클러스터 구성보다
Minikube로 쿠버네티스 실습이 적절했다 ㅠ ㅠ
(이전에 서버를 사용할 수 있었을 때에는 신나게 클러스터 구축했었는데...)
추가로 구매한 메모리가 온다면,
얼른 데스크톱에 추가하여 쿠버네티스 클러스터 환경 구축 실습을 진행할 것이다 ! 😎😎😎
오늘의 Minikube 설치 환경은 다음과 같다.
OS: CentOS 7
CPU : 2 (가상화 지원 YES)
# grep -E --color 'vmx|svm' /proc/cpuinfo 명령어를 사용하여 가상화 지원 확인 필요.
MEM: 4
HDD: 20
매우 노트북의 사양이 연약한 관계로 최소한의 자원을 사용하였다
(메모리는 2GB여도 된다하지만, 메모리는 항상 될 수 있는한 최소보다 더 많이! 더 넉넉하게!!!!!)
> Minikube 직접 다운로드 설치하여 start!
# useradd minikube
# passwd --stdin minikube
# echo "minikube ALL=(ALL) ALL" >> /etc/sudoers.d/minikube
# su - minikube
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
$ sudo install minikube-linux-amd64 /usr/local/bin/minikube
$ minikube start
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/version:ersion: dial unix /var/run/docker.sock: connect: permission denied
너무나 간단하게 설치된 minikube....귀여운 이모지들이 나타난다
docker 서비스를 재시작하는 중,
도커를 설치하고 기도하는 전용 계정 doadmin과 minikube계정이 달라서 그런지
docker 관련 에러가 자꾸 나타났다. 도커를 재시작해도 자꾸 error가 나타난다면, minikube를 삭제했다가 재기동해보자.
$ minikube delete
$ minikube start
⚓docker ps 로 확인해보니 15개의 컨테이너가 실행 중
> Minikube Dashboard
🔌 Enabling dashboard ...
▪ Using image kubernetesui/dashboard:v2.1.0
▪ Using image kubernetesui/metrics-scraper:v1.0.4
🤔 Verifying dashboard health ...
🚀 Launching proxy ...
🤔 Verifying proxy health ...
🎉 Opening http://127.0.0.1:46086/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
👉 http://127.0.0.1:46086/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
^C "hang 걸리면, 아래와 같이 porxy를 열어준다"
그 다음,
[VM IP]:8080/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ 접속
> Minikube 클러스터 구성 및 상태 확인
$ kubectl cluster-info
클러스터의 구성을 확인하기: 마스터의 ip주소 및 내부 dns 엔드포인트 확인
$ kubectl get node
Minikube는 싱글 노드이기 때문에 마스터 노드와 워커노드가 하나에 다 포함되는 구성이다.
> Pod 건드려보기
$ kubectl run hello-world --image=hello-world -it --restart=Never
hello-world 이미지로 컨테이너 실행(run)
👉 --restart=Never 인 경우에 pod가 컨트롤러를 통해서가 아니라 직접 기동된다
👉 -it 옵션은 docker에서와 똑같이 터미널과 연결하여 입력을 연결하는 대화모드 설정 관련 옵션인데,
해당 it 옵션을 제거하면 pod/hello-world created 라는 단순 출력만 나타나며 백그라운드로 실행된다.
표준 출력 메세지들은 로그로 보존되기 때문에 로그를 출력해 보려면 kubectl logs 커맨드를 활용한다.
$ kubectl get pod 로 생성된 pod의 확인이 가능하다.
$ kubectl delete pod hello-world(오브젝트명)을 통해 삭제할 수 있다.
$ kubectl run hello-world --image=hello-world -it --restart=Never --rm
만약 pod 실행 명령어에 --rm 이라는 옵션을 붙이는 경우 해당 컨테이너는 실행 후 자동으로 지워진다.
'자기발전소 > # Docker and K8s' 카테고리의 다른 글
[k8s] 아니 이미지가 떡하니 있는데 왜 못 찾는다는 거야 (0) | 2023.11.07 |
---|---|
[K8s] Controller 와 Workload (0) | 2021.03.06 |
K8s : 네트워크 트러블 슈팅 (0) | 2020.10.25 |
K8s 클러스터 설치: 단일 마스터 및 워커 노드 2개 구성 (0) | 2020.10.03 |
Docker 공부: 컨테이너와 볼륨 연결 (0) | 2020.10.03 |