You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 21
Next »
개요
- Kubernetes Manifist 파일을 작성하고, 어플리케이션을 배포해 볼 것입니다.
사전조건
배포할 환경 미리보기
Kubernetes 배포 파일 작성
apiVersion: apps/v1
kind: Deployment
metadata:
name: spring-demo
spec:
selector:
matchLabels:
app: spring-demo
replicas: 3
template:
metadata:
labels:
app: spring-demo
spec:
containers:
- name: spring-demo
image: sooabia/spring-demo:1.0
ports:
- containerPort: 8080
---
kind: Service
apiVersion: v1
metadata:
name: spring-service
spec:
selector:
app: spring-demo
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancer
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis
spec:
selector:
matchLabels:
app: redis
replicas: 1
template:
metadata:
labels:
app: redis
spec:
containers:
- name: redis
image: redis
ports:
- containerPort: 6379
volumeMounts:
- name: data
mountPath: ./redis
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
---
kind: Service
apiVersion: v1
metadata:
name: redis
spec:
selector:
app: redis
ports:
- protocol: TCP
port: 6379
targetPort: 6379
type: ClusterIP
배포
C:\Users\sanse\workspace\reactive-link-shortener-sample-app>kubectl apply -f k8s-deploy.yml
deployment.apps/spring-demo created
service/spring-service created
statefulset.apps/redis created
service/redis created
C:\Users\sanse\workspace\reactive-link-shortener-sample-app>kubectl get pod
NAME READY STATUS RESTARTS AGE
redis-0 1/1 Running 0 26s
spring-demo-86db8bb845-6h4g8 1/1 Running 0 26s
spring-demo-86db8bb845-qhmj4 1/1 Running 0 26s
spring-demo-86db8bb845-x79cl 1/1 Running 0 26s
C:\Users\sanse\workspace\reactive-link-shortener-sample-app>kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 31d
redis ClusterIP 10.103.235.238 <none> 6379/TCP 41s
spring-service LoadBalancer 10.110.19.153 localhost 80:31834/TCP 41s
서비스 확인
C:\Users\sanse\workspace\reactive-link-shortener-sample-app>curl -XPOST http://localhost/link -H "Content-Type: application/json" -d "{\"link\":\"http://wiki.iisanse.com\"}"
{"shortenedLink":"zMlnfI"}