Hello Minikube

2021. 9. 22. 22:59개발/Kubernetes


minikube start --driver=docker

# result....
# 😄  Darwin 11.6 (arm64) 의 minikube v1.23.1
#✨  기존 프로필에 기반하여 docker 드라이버를 사용하는 중
# 👍  minikube 클러스터의 minikube 컨트롤 플레인 노드를 시작하는 중
# 🚜  베이스 이미지를 다운받는 중 ...
# 🔄  Restarting existing docker container for "minikube" ...
# 🐳  쿠버네티스 v1.22.1 을 Docker 20.10.8 런타임으로 설치하는 중
# 🔎  Kubernetes 구성 요소를 확인...
#     ▪ Using image kubernetesui/metrics-scraper:v1.0.7
#     ▪ Using image kubernetesui/dashboard:v2.3.1
#     ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
# 🌟  애드온 활성화 : storage-provisioner, default-storageclass, dashboard
# 🏄  끝났습니다! kubectl이 "minikube" 클러스터와 "default" 네임스페이스를 기본적으로 사용하도록 구성되었습니다.

Deployment Yaml File : client-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: client-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      component: web
  template:
    metadata:
      labels:
        component: web
    spec:
      containers:
        - name: client
          image: stephengrider/multi-client
          ports:
            - containerPort: 3000

Service Yaml File : client-node-port.yaml

apiVersion: v1
kind: Service
metadata:
  name: client-node-port
spec:
  type: NodePort
  ports:
    - port: 3050
      targetPort: 3000
      nodePort: 31515
  selector:
    component: web

파일 등록

k apply -f ./client-deployment.yaml
# or  kubectl apply -f ./client-deployment.yaml
k apply -f ./client-node-port.yaml
# or  kubectl apply  -f ./client-node-port.yaml

서비스명 가져오기

kubectl get services

# ... result
# NAME               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
# client-node-port   NodePort    10.111.164.231   <none>        3050:31515/TCP   7m5s

Minikube service proxy 실행

minikube service --url client-node-port
# result...
# 🏃  client-node-port 서비스의 터널을 시작하는 중
# |-----------|------------------|-------------|------------------------|
# | NAMESPACE |       NAME       | TARGET PORT |          URL           |
# |-----------|------------------|-------------|------------------------|
# | default   | client-node-port |             | http://127.0.0.1:65363 |
# |-----------|------------------|-------------|------------------------|