전체 글
-
Prometheus 기초 공부 내역Computer Science/Monitoring 2023. 3. 23. 12:09
Prometheus 가 다른 모니터링 도구와 큰 차이점 중 하나는 바로 Pull 방식으로 진행된다는 것이다. 기존의 다른 모니터링 도구 ( New Relic, DataDog, Pinpoint ) 는 이 클라이언트가 메트릭을 수집해서 중앙서버로 보내면 서버가 모니터링 상태를 보여주는 방식인데 Prometheus는 서버가 클라이언트에 접속해서 데이터를 가져오는 방식이다. 즉 모니터링 서비스를 위해서 각 서버마다 클라이언트가 설치되어야 함은 동일하지만 기존의 모니터링 도구들은 이 클라이언트가 중앙서버로 데이터를 전송한다면 Prometheus는 중앙에서 각 클라이언트에 접속해서 데이터를 가져온다. 이렇다보니 꼭 prometheus 서버가 아니더라도 클라이언트에서 정보를 가져올 수 있다. Prometheus 의 ..
-
트랜잭션 (transaction)DataBase 2023. 3. 5. 16:19
트랜잭션이란 분리할 수 없는 업무처리의 최소 단위. ex) 송금하기. 트랜잭션의 성질 (ACID) - Atomicity (원자성) 트랜잭션이 전부 Database에 반영이 되든가 전부 반영이 되지 않아야한다. ( All or Nothing ) - Consistency (일관성) 트랜잭션의 수행 전/후 모두 데이터 모델의 모든 제약 조건(기본키, 외래키, 도메인 등)을 만족해야한다. - Isolation (독립성) 하나의 트랜잭션 수행시 다른 트랜잭션이 간섭하지 못한다. - Durablity (지속성, 영속성) 트랜잭션이 정상적으로 완료가 된다면 데이터베이스에 작업이 영구적으로 저장되어야한다.
-
k8s deploymentComputer Science/k8s 2023. 3. 4. 20:30
apiVersion: apps/v1 kind: Deployment metadata: name: rest-api-deployment labels: app: rest-api-deployment spec: replicas: 1 selector: matchLabels: server: rest-api-server template: metadata: labels: server: rest-api-server spec: containers: - name: rest-api-kotlin-container image: //img url ports: - containerPort: 80 server: rest-api-server 라는 tag를 가지고 있는 친구들을 1개의 pod로 지속적으로 띄워주는 deployment. 해당 ..
-
aws eks worker node 생성Computer Science/k8s 2023. 3. 4. 20:03
노드 그룹 생성을 통해 eks worker node를 만들어보자. eks의 컴퓨팅에서 노드 그룹을 생성할 수 있다. 그전에 ec2관련 역할을 생성해주어야한다. AmazonEKSWorkerNodePolicy, AmazonEC2ContainerRegistryReadOnly, AmazonEKS_CNI_Policy 이 3가지 권한을 가진 ec2 역할을 생성하고 해당 역할로 eks의 노드그룹을 생성한다. 생성시 주의할 점 2가지. 1. 생성할 subnet이 자동 Ip 부여가 켜져 있는가. 2. kubenetes 레이블을 1개이상 생성하였는가.
-
aws eks kubectl 연동 과정.Computer Science/k8s 2023. 3. 2. 23:01
우선 awscli가 필요하다. brew install awscli https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/ Install and Set Up kubectl on macOS Before you begin You must use a kubectl version that is within one minor version difference of your cluster. For example, a v1.26 client can communicate with v1.25, v1.26, and v1.27 control planes. Using the latest compatible version of kubectl helps avoid kubern..
-
k8s Controller 기본 정리Computer Science/k8s 2023. 2. 12. 23:35
Controller를 삭제한다면 관련 pod들도 삭제됨으로 controller 만 삭제하고 싶다면 --cascade=false 옵션을 넣어서 삭제하면 된다. Replication Controller -> ReplicaSet Template - 띄울 pod의 정보가 담긴 것. pod를 selector가 관리하는데 pod가 죽었을 시 해당 template로 다시 띄운다. Replicas - 띄울 Pod의 개수. Selector(ReplicaSet 부터 추가됨) - matchLabels 는 해당 label만 선택하지만 matchExpressions는 key value값으로 operator를 통해 관리할 수 있다. operator는 크게 4가지가 있는데 Exists, DoesNotExist, In, NotIn이..
-
k8s Object 기본 간략 정리Computer Science/k8s 2023. 2. 12. 20:19
pod - container 들을 모아서 실행하는 곳. 언제든 종료될 수 있으며 재실행 될 때 마다 ip가 변동된다. label을 달 수 있다. (key value) 한 pod에서 같은 port의 container 실행 불가. memory 가 초과 된다면 종료 되지만 Cpu는 초과되도 해당 Limit로 낮추려고 한다. service - 종료되지 않고 고정 ip로써 떠 있어서 pod들을 연결해준다. ClusterIp 방식 - 내부 ip로만 접근할 수 있으며 관리하는 pod들에게 연결해준다. NodePort 방식 - 해당 NodePort로 들어와도 Service로 간다음 Service에서 관리하는 pod들로 연결해준다. 따라서 a node에 접근해도 a node의 들어가고자 하는 pod로 연결되지 않을 수 ..