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 |
# |-----------|------------------|-------------|------------------------|