728x90
728x90
resourceVersion 개념쿠버네티스는 최적화 된 Concurrency 를 달성하기 위해 resourcVersion 개념을 사용하며, 모든 쿠버네티스 리소스는 메타데이터에 resourceVersion 이라는 필드를 갖는다. 다시 말해, resourceVersion 은 클라이언트가 kubernetes 오브젝트가 변경된 시점을 확인하는 데 사용할 수 있는 내부 버전을 식별하는 문자열이다. 동작etcd 의 record 가 업데이트 될 때, 이전에 저장된 value 와 비교하여 크로스 체크를 하는데, 만약 매치되지 않은 value 일 경우 409 status code 를 반환하며, object 가 수정될 경우 API 서버에 의해 resourceVersion 이 변경된다. 만약 PUT 작업(리소스 변경 시)..
SGP VPC CNI 는 노드(instance)의 ENI 와 연결된 보안 그룹을 사용한다. 즉, Node 에 띄워지는 모든 Pod 들은 Node 의 보안 그룹을 사용하게 된다. 이 말은 Node 보안 그룹을 Pod 가 사용하기 때문에 불필요한 리소스에 접근을 할 수 있게 된다. 그러나 Security Group for Pods 를 사용하면 개별 Pod 에 Security Group 을 사용할 수 있게 된다. VPC CNI 에서 ENABLE_POD_ENI=true 를 설정하면 vpc cni 애드온이 각 클러스터의 노드에 vpc.amazonaws.com/has-trunk-attached=true Lable 을 추가한다. “aws-k8s-trunk-eni” 라는 trunk interface 를 생성하여 노드에..
jenkins agent pod 를 사용하면서 pod 에 적절한 권한을 부여하는 과정에 pods/exec 의 권한에 대해 알아볼 기회가 생겼습니다. pods/exec 의 get/watch/list 권한과 get/watch/list/create 권한의 차이점은 다음과 같습니다. 1. get/watch/list 권한을 부여했을 때: - 파드 내부의 컨테이너에서 실행되는 명령 경로에 대한 정보를 가져올 수 있습니다. - 파드에 대한 리소스 사용량 정보, 실행 중인 컨테이너의 상태 정보 등을 가져올 수 있습니다. - 작업자의 작업에 대한 초기 진단 및 디버깅을 수행할 수 있습니다. - 컨테이너의 리소스 정보를 모니터링하고 관리할 수 있습니다. 2. get/watch/list/create 권한을 부여했을 때: -..
클러스터는 물리적 혹은 논리적으로 여러개의 리소스를 하나로 묶어서 사용하는 것을 뜻한다. 기본적으로 Docker 는 클러스터라는 기능은 없다. 도커 컨테이너들은 각각 따로 관리된다. 이를 하나로 한꺼번에 관리할 수는 없다. 이런 형태를 stand alone 이라고 부르며, stand alone 형태는 관리하기가 힘들다. 즉, 클러스터는 리소스를 하나로 묶어서 한번에 관리를 하는 것이다. 쿠버네티스 클러스터의 핵심 Control Plane Node Node(구 명칭 worker, Minions) Control Plane 과 Node 라는 VM 형태로 나눠진다. 즉 역할이 분리되는 것이다. Node 는 실제 컨테이너를 실행해준다. 즉, Node 안에 도커(podman, CRIO...)가 설치되있어야 한다. ..
minikube delete --all --purge minikube start 참조: https://github.com/kubernetes/minikube/issues/12274#issuecomment-1006201978
CI/CD 미니 프로젝트 목차 I. 과제 및 배경 소개 아키텍쳐 환경 구성 프로젝트 진행 일정 프로젝트 GitHub 주소 EKS와 K8S의 차이점 II. 구현 절차 1. EC2 인스턴스 구성 1-1. EC2 인스턴스에 부여 IAM 역할 부여 1-2. 보안 그룹 생성 1-3. 인스턴스에 접속해 도구 설치 2. Repository의 manifest로 eksctl 클러스터 생성 2-1. EC2 인스턴스 공개키 git 계정에 등록 2-2. git clone으로 manifest 가져오기 2-3. 파일 기반 eksctl 클러스터 생성 3. CI—Jenkins 3-1. 기본 설정: 환경변수, 플러그인, 크레덴셜, 슬랙 알림 1) Global Tool Configuration에서 환경변수 설정 2) Plugin 설치 ..