[Docker] - docker, kubernetes 기초설정, 예제
minikube start
minikube ip
minikube addons enable ingress
우선 domain으로 로드분산을 시키기 위해 ingress를 활성화해준다
mkdir test
cd test
nano nginx.yml
#nginx.yml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx
spec:
rules:
- host: nginx.192.168.49.2.sslip.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
---
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- port: 80
protocol: TCP
selector:
app: nginx
nignx yml 파일을 만들어준다
로드분산이 되는지 확인하기 위해 복제를 3개 정도 해준다
kubectl apply -f nginx.yml
yml 파일을 실행시킨 후 웹에서 접속해 보면 nginx 페이지가 열린다
kubectl get pod
kubectl logs -f nginx-69fbf4cbcb-2gq5n
kubectl logs -f nginx-69fbf4cbcb-92rf2
kubectl logs -f nginx-69fbf4cbcb-9mbb2
pod name을 확인해 보고 하나씩 log를 flow 해두고 웹에서 새로고침을 해보면
위 사진처럼 log가 올라온다 세 개의 pod에서 모두 log가 올라온다면 로드분산에 성공한 것이다
'Kubernetes' 카테고리의 다른 글
kubernetes를 활용한 emptydir 실습 예제 (0) | 2023.11.02 |
---|---|
cilium사용 시 session affinity가 적용이 안되는 문제 해결 (0) | 2023.11.01 |
kubernetes를 활용한 deployment 예제 (0) | 2023.10.31 |
kubernetes 설치 (1) | 2023.10.31 |
minikube를 활용한 wordpress mysql 연동 예제 (0) | 2023.10.23 |