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