Computer Science/k8s
-
[k8s] TailScale subnet router 적용하기Computer Science/k8s 2023. 8. 24. 21:25
1. TailScale Auth key 생성 2. k8s Secret 생성 3. k8s Role 생성 4. k8s Deployment ( subnet router ) 생성 5. TailScale 연동 및 설정 1. TailScale Auth key 생성 Auth key를 생성해준다. 2. k8s Secret 생성 #tailscale-secret.yaml apiVersion: v1 kind: Secret metadata: name: tailscale-secret stringData: TS_AUTH_KEY: tskey-auth-###### 3. k8s Role 생성 # Copyright (c) 2022 Tailscale Inc & AUTHORS All rights reserved. # Use of this ..
-
EFS를 pv, pvc로 k8s 환경에서 사용하기 ( NFS )Computer Science/k8s 2023. 8. 15. 02:12
1. EFS 생성 및 구성 1.1 DNS 호스트 이름 활성화 1.2 NFS 사용가능 여부 확인 1.3 EFS 생성 2. k8s 환경에 pv, pvc 구성 1. EFS 생성 및 구성 1.1 DNS 호스트 이름 활성화 우선 EFS 를 생성하기 전에 내가 사용할 vpc에서 DNS 호스트 이름이 활성화 되었는지 확인한다. 만약 활성화되어 있지 않다면 해당 "VPC 설정 편집" 을 통해서 활성화 해준다. 1.2 NFS 사용가능 여부 확인 https://docs.aws.amazon.com/ko_kr/efs/latest/ug/mounting-fs-old.html EFS 마운트 도우미 없이 파일 시스템 마운트하기 - Amazon Elastic File System Amazon EC2 인스턴스를 시작할 때 Amazon ..
-
GitHub Action, ECR 과 ArgoCD를 이용하여 CI/CD 구축하기 ( k8s )Computer Science/k8s 2023. 8. 15. 01:15
1. GitHub Action을 이용하여 이미지를 빌드하고 ECR에 배포하기 1.1 Public ECR Repository 1.2 Private ECR Repository 2. ArgoCD 설치 및 배포 3. helm 파일 제작 및 GitHub Action으로 변경하기 전체 ci/cd 구조 1. GitHub Action을 이용하여 이미지를 빌드하고 ECR에 배포하기. 1.1 Public Repository Public Repository를 이용한다면 빌드하고 ECR에 배포할 때만 AWS 권한이 필요하다. AmazonElasticContainerRegistryPublicFullAccess 권한이 있는 IAM을 생성하여 GitHub Action에 Secret으로 등록해주자. GitHub Action yaml..
-
kubeadm을 통한 kubernetes(1.27) EC2에 설치하기Computer Science/k8s 2023. 7. 31. 21:36
1. ec2 사양 정하기 2. 컨테이너 런타임 설치 ( containerd ) 2-1. containerd 설치 2-2. systemd 설정 2-3. runc 설치 2-4. CNI 설치 3. cgroup 드라이버 구성 4. iptables 설정 5. kubeadm 설치 6. Control Plane Node 생성 7. Addon 설치 8. Worker Node 생성 및 연동 공식 문서를 보고 따라서 설치해보자. https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ kubeadm 설치하기 이 페이지에서는 kubeadm 툴박스 설치 방법을 보여준다. 이 설치 프로세스를 수행한 후 kubeadm으로 클러..
-
k8s 설치 방식 종류Computer Science/k8s 2023. 7. 28. 14:50
1. Minikube 2. kops 3. kubespray 4. kubeadm 5. EKS 등 PaaS 공식 홈페이지에서 말하는 kops vs kubespray & kubespray vs kubeadm https://github.com/kubernetes-sigs/kubespray/blob/master/docs/comparisons.md 1. Minikube Minikube는 로컬 환경에서 단일 노드의 k8s 클러스터를 간편하게 구성해준다. 주로 개발자들이 로컬에서 k8s를 테스트하고 개발하는데 사용된다. 가볍고 빠르지만 실제 운영환경에서 사용되지는 않는다. 2. kops https://kubernetes.io/ko/docs/setup/production-environment/tools/kops/ kOp..
-
k8s Secret 적용 및 Containers 에서 사용하기Computer Science/k8s 2023. 6. 30. 19:52
k8s Secret 종류 1. Opaque 일반적인 key-value 형태의 Secret 이다. 데이터는 base64로 인코딩하여 등록하여야 하며 주로 패스워트, 토큰, 인증 정보 값들을 등록한다. 2. service-acount-token 클러스터 내에서 서비스 계정 인증에 사용되는 정보를 저장하기 위한 유형이다. ServiceAccount 마다 접근할 수 있는 권한, 토큰 등을 설정하게 된다. 3. tls TLS 인증서를 Secret으로 관리할 수 있다. 보통 Service가 가져와 https 통신을 한다. Opaque 예시 #secret.yaml apiVersion: v1 kind: Secret metadata: name: namespace: type: Opaque data: secret-key1:..
-
Pod - readiness, liveness, startup probeComputer Science/k8s 2023. 3. 26. 15:32
Readiness Probe Traffic을 언제부터 받을 수 있는 지에 대한 설정 Fail이 발생하면 Traffic을 차단한다. Pod를 재실행하지는 않는다. Liveness Probe App이 잘 살아있는 지를 판별하는 설정 Fail이 발생하면 해당 Pod가 재실행 된다. Startup Probe App이 기동되었는지를 판별하는 설정 해당 설정이 success되어야 Readiness 와 Liveness가 동작하기 시작한다. 초기 App 구동 시간이 예측이 힘들고 오래걸릴 때 적용한다. 필수 ( 3중 1개 이상) httpGet 서버 상태 코드를 통해 판단 ( 200 이상 400 미만 정상) Port - 8080 Host - localhost Path - /ready HttpHeader - languag..
-
Pod의 LifecycleComputer Science/k8s 2023. 3. 26. 14:19
Pod의 Status Phase Pending 우선 Pod가 어느 Node 위에 올라갈지 결정한다. 지정된 것이 있다면 지정된 것을 사용하고 아니면 k8s가 판단한다. 성공적으로 실행될 시 PodScheduled가 true 아니면 false 가 된다. 본 Container가 기동되기 전에 초기화 해야하는 것이 있다면 실행한다.( initContainer ) 성공적으로 실행될 시 Initalized 가 true 아니면 false 가 된다. Container에 이미지를 다운한다. 3까지 과정 동안 Container의 상태는 Waiting이고 Reason 은 ContainerCreating 이다. Running Pod가 정상동작중인 상태이다. Container는 정상동작 하지 않을 수 있다. Container..