- Dockerfile 작성
- git hub repository 생성
- jenkins job 생성
- 서버 접속
- multipass shell jenkins
- git-rspo 내에 새로운 repository 생성
- ssh-keygen 으로 ssh key 생성
- git repository -> deploy keys에 공개키 저장
- .ssh/config 파일의 Host 정보 입력
- git/cicd에 repository 생성
10.dev/stg/poc 별 Deployment.yaml 파일 생성- argoCD에 git/cicd 연결 (path로 작업 디렉토리 지정)
- 서버에서 확인 ~_~
stg => npc
dev => 사내서버
kubectl get svc -n [server name]
curl [cluster-ip]:targetPort (Deployment상)
curl localhost:nodePorts (Deployment상)
apiVersion: apps/v1
kind: Deployment
metadata:
name: [your_project]
namespace: [your_server]
spec:
selector:
matchLabels:
app: [your_project]
replicas: [custom]
template:
metadata:
labels:
app: [your_project]
spec:
containers:
- name: [your_project]
image: [your_server]/[your_project]:[version]
imagePullPolicy: IfNotPresent
resources:
requests:
cpu: 100m
memory: 200Mi
ports:
- containerPort: [Docker file 에 명시된 EXPOSE PORT]
---
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/instance: [your_project]
name: [your_project]-svc
namespace: [your_server]
spec:
externalTrafficPolicy: Cluster
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- nodePort: [localhost 연결 ip 포트]
port: [서버 내 포트, ip 포트]
protocol: TCP
targetPort: [Docker file에 명시된 EXPOSE PORT]
selector:
app: [your_project]
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
개발중에 레플리카는 1개로설정