Skip to content

Instantly share code, notes, and snippets.

View ianychoi's full-sized avatar

Ian Y. Choi ianychoi

View GitHub Profile
@ianychoi
ianychoi / K8s-ExternalName.md
Last active July 27, 2021 17:43
쿠버네티스 - External Name (외부 이름)
  • ExternalName 실습
# 서비스(ExternalName) 생성
cat <<EOT> svc-ext-cndk.yaml
apiVersion: v1
kind: Service
metadata:
  name: academy
spec:
@ianychoi
ianychoi / K8s-NodePort.md
Last active July 27, 2021 18:42
쿠버네티스 - NodePort 서비스 실습
  • nginx11.yaml 디플로이먼트 (이전 실습에서 배포한) 생성 및 확인
# (옵션) 터미널1
watch -d 'kubectl get pods,svc,ep -o wide'
혹은
watch -d 'kubectl get pods,svc -o wide'

# (옵션) 노드
watch -d 'docker ps --format "table {{.Image}}\t{{.Status}}\t{{.Names}}" | grep -v pause'
@ianychoi
ianychoi / K8s-BlueGreen.md
Created July 27, 2021 16:27
쿠버네티스 - Blue Green 배포 (클러스터 서비스 활용)

클러스터 IP 서비스를 활용해 Blue Green 배포 전략을 실습해봅니다.

  • 디플로이먼트 2개 생성
  • nginx11.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-nginx11
@ianychoi
ianychoi / K8s-ClusterIP.md
Created July 27, 2021 15:44
쿠버네티스 - Cluster IP 실습
  • pod.yaml 파일 내용 참고
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-cndk
spec:
  replicas: 3
  selector:
@ianychoi
ianychoi / K8s-DaemonSetJobs.md
Last active July 26, 2021 17:35
쿠버네티스 - DaemonSet & Jobs
  • daemonset-1.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset-1
spec:
  selector:
    matchLabels:
@ianychoi
ianychoi / K8s-Deployment.md
Last active July 26, 2021 15:47
쿠버네티스 - Deployment
  • 디플로이먼트 생성 및 확인
# (옵션) 마스터 - 터미널1
watch -d 'kubectl get pods,rs,deploy -o wide'
# (옵션) 노드 - 터미널1
watch -d 'docker ps --format "table {{.Image}}\t{{.Status}}\t{{.Names}}" | grep -v pause'

# 생성
curl -s -O https://raw.githubusercontent.com/gasida/DKOS/main/4/deployment-cndk.yaml
@ianychoi
ianychoi / K8s-ReplicaSet.md
Last active July 19, 2021 14:03
쿠버네티스 - ReplicaSet
# (옵션) 마스터 - 터미널1
watch -d 'kubectl get pods,rs,deploy -o wide'
# (옵션) 노드 - 터미널1
watch -d 'docker ps --format "table {{.Image}}\t{{.Status}}\t{{.Names}}" | grep -v pause'

# 생성
curl -s -O https://raw.githubusercontent.com/gasida/DKOS/main/4/replicaset-cndk.yaml
kubectl apply -f replicaset-cndk.yaml
@ianychoi
ianychoi / K8s-Configmap.md
Last active July 15, 2021 16:19
쿠버네티스 - ConfigMap & Secret
  • ConfigMap 생성
# ConfigMap 생성 → 물론 YAML 로 만들수도 있습니다!
kubectl create configmap log-level --from-literal LOG_LEVEL=DEBUG

# 확인
kubectl get configmap
[root@k8s-m ~ (kube:default)]# kubectl get configmap
NAME               DATA   AGE
@ianychoi
ianychoi / K8s-Init-Containers.md
Created July 14, 2021 13:43
쿠버네티스 - 초기화 컨테이너
apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
@ianychoi
ianychoi / K8s-restartPolicy.md
Last active July 15, 2021 15:37
쿠버네티스 - 재시작 정책
  • livenessprobe.yaml

    • httpGet : HTTP 요청을 전송해 상태를 검사 (HTTP 요청의 종료 코드가 200 또는 300번 계열이 아닌 경우 애플리케이션의 상태 검사가 실패한 것으로 간주)
      • 요청을 보낼 포트와 경로, 헤더, HTTPS 사용 여부 등을 추가로 지정 가능
    • tcpSocket : TCP 소케 연결이 가능한지 체크하여 상태 검사
      • TCP 연결이 생성될 수 없는 경우, 애플리케이션의 상태 검사가 실패한 것으로 간주
    • exec : 컨테이너 내부에서 명령어를 실행하여 상태 검사.
      • 명령어의 종료 코드가 0이 아닌 경우, 애플리케이션의 상태 검사가 실패한 것으로 간주