1
콘솔로 수작업
CLI 테라폼으로 자동화 작업
2
콘솔로 수작업 순서 ?
네트워크 생성 - NKS 생성 - 명령서버 생성 순으로 작업한다.
NKS를 위해서는 필수 서브넷 3개가 필요하다.
NKS 생성후 명령서버로 제어한다.
명령서버로 관리하는법 -access-key , secret key ,kubectl 관리 툴 설치 필요
3
CLI 테라폼으로 자동화 작업 순서 ?
명령서버 생성
명령서버에서 네트워크생성, NKS 생성
access-key , secret key , kubectl 관리 툴 설치 필요
1
배포하기
k get ns
kubectl create namespace nks-sample-app
# 모니터링 하기 = 별도 터미널 하나 더 띠우기
watch -d kubectl get deploy,rs,svc,pods
kwn -n nks-sample-app
# nks-sample-app 에 배포하기
cat <<EOT > nks-sample-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nks-sample-linux-deployment
namespace: nks-sample-app
labels:
app: nks-sample-linux-app
spec:
replicas: 3
selector:
matchLabels:
app: nks-sample-linux-app
template:
metadata:
labels:
app: nks-sample-linux-app
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- amd64
- arm64
containers:
- name: nginx
image: public.ecr.aws/nginx/nginx:1.23
ports:
- name: http
containerPort: 80
imagePullPolicy: IfNotPresent
nodeSelector:
kubernetes.io/os: linux
EOT
k apply -f nks-sample-deployment.yaml --validate=false
3
cat <<EOT > nks-sample-service.yaml
apiVersion: v1
kind: Service
metadata:
name: nks-sample-linux-service
namespace: nks-sample-app
labels:
app: nks-sample-linux-app
spec:
selector:
app: nks-sample-linux-app
ports:
- protocol: TCP
port: 80
targetPort: 80
EOT
k apply -f nks-sample-service.yaml
kubectl get pods
https://brunch.co.kr/@topasvga/4195