쿠버네티스 다운로드
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube
[rocky@localhost ~]$ sudo mkdir -p /usr/local/bin/
[rocky@localhost ~]$ sudo install minikube /usr/local/bin/

Docker를 가상머신으로 사용하기 전에 버츄얼머신 세팅을 바꿔줘야 한다.
Memory는 4 GB 이상, CPU 는 2개 이상으로 설정해준다.


docker-compose.yml
version: "3"
service:
wordpress:
image: wordpress:5.9.1-php8.1-apache
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
ports:
- "3000:80"
mysql:
image: mariadb:10.7
environment:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: password
echo-pod.yml
apiVersion: v1
kind: Pod # Pod ReplicaSet Deployment Service ...
metadata: # name,label로 구성
name: echo-lp
labels:
app: echo
spec: # 리소스 종류마다 다름
containers:
- name: app
image: ghcr.io/subicura/echo:vi
livenessProbe:
httpGet:
path: /not/exist
port: 8080
initialDelaySeconds: 5
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 1
echo-pod2.yml
apiVersion: v1
kind: Pod # Pod ReplicaSet Deployment Service ...
metadata: # name,label로 구성
name: echo-rp
labels:
app: echo
spec: # 리소스 종류마다 다름
containers:
- name: app
image: ghcr.io/subicura/echo:vi
readinessProbe:
httpGet:
path: /not/exist
port: 8080
initialDelaySeconds: 5
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 1
echo-pod3.yml
apiVersion: v1
kind: Pod # Pod ReplicaSet Deployment Service ...
metadata: # name,label로 구성
name: echo-health
labels:
app: ehco
spec: # 리소스 종류마다 다름
containers:
- name: app
image: ghcr.io/subicura/echo:vi
livenessProbe:
httpGet:
path: /
port: 3000
readinessProbe:
httpGet:
path: /
port : 3000
multi-pod.yml
apiVersion: v1
kind: Pod # Pod ReplicaSet Deployment Service ...
metadata: # name,label로 구성
name: counter
labels:
app: counter
spec: # 리소스 종류마다 다름
containers:
- name: app
image: ghcr.io/subicura/counter:latest
env:
- name: REDIS_HOST
value: "localhost"
- name: db
image: redis
echo-pod_mysql.yml
apiVersion: v1
kind: Pod # Pod ReplicaSet Deployment Service ...
metadata: # name,label로 구성
name: mysql
labels:
app: mongo
spec: # 리소스 종류마다 다름
containers:
- name: mysql
image: mysql:latest
env:
- name: MYSQL_ROOT_PASSWORD
value: password
[rocky@localhost kube1]$ kubectl apply -f echo-pod_mysql.yml
replicatset1.yml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: rs
labels:
app: rs
spec:
replicas: 1 # 파드의 개수
selector:
matchLabels:
app: echo
tier: app
template:
metadata:
labels:
app: echo
tier: app
spec:
containers:
- name: echo
image: ghcr.io/subicura/echo:v1
'Data Engineering' 카테고리의 다른 글
[Kuberflow] Kuberflow 설치하기 (1) | 2024.06.13 |
---|---|
[Kubernetes] Deployment (0) | 2024.06.11 |
[Docker] Docker Image & localhost 접속 (0) | 2024.06.04 |
[Docker] Docker 설치 및 환경설정 (0) | 2024.06.03 |