Kubernetes
Minikube tutorial
Daniel007
2020. 3. 17. 16:33
nodes 리소스 확인
kubectl get nodes
echoserver 이미지를 이용하여 hello-minikube file 리소스 file 생성
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
pods의 리소스 확인
kubectl get pods
expose 옵션을 통해 서비스 노출 8080포트 지정
-- type : ClusterIP, NodePort, LoadBalancer, ExternalName 옵션이 있음
-ClusterIP (기본값) - 클러스터 내에서 내부 IP 에 대해 서비스를 노출해준다. 이 방식은 오직 클러스터 내에서만 서비스가 접근될 수 있도록 해준다.
-NodePort - NAT가 이용되는 클러스터 내에서 각각 선택된 노드들의 동일한 포트에 서비스를 노출시켜준다. :를 이용하여 클러스터 외부로부터 서비스가 접근할 수 있도록 해준다. ClusterIP의 상위 집합이다.
-LoadBalancer - (지원 가능한 경우) 기존 클라우드에서 외부용 로드밸런서를 생성하고 서비스에 고정된 공인 IP를 할당해준다. NodePort의 상위 집합이다.
-ExternalName - 이름으로 CNAME 레코드를 반환함으로써 임의의 이름(스펙에서 externalName으로 명시)을 이용하여 서비스를 노출시켜준다. 프록시는 사용되지 않는다. 이 방식은 kube-dns 버전 1.7 이상에서 지원 가능하다.
kubectl expose deployment hello-minikube --type=NodePort --port=8080
[--type]https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/expose/expose-intro
서비스 URL 받아오기minikube service hello-minikube --url
developui-MacBook-Pro:~ develop$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
m01 Ready master 4h7m v1.17.3
developui-MacBook-Pro:~ develop$ kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
deployment.apps/hello-minikube created
developui-MacBook-Pro:~ develop$ kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-minikube-797f975945-jhq9s 1/1 Running 0 3m46s
developui-MacBook-Pro:~ develop$ kubectl expose deployment hello-minikube --type=NodePort --port=8080
service/hello-minikube exposed
developui-MacBook-Pro:~ develop$ minikube service hello-minikube --url
http://192.168.99.101:31701