Among Us - Yellow Crewmate 'DevOps/Kubernetes' 카테고리의 글 목록

DevOps/Kubernetes 12

k8s 클러스터 모니터링 : Metrics-Server

Metrics-Server 란 ? 쿠버네티스의 Metrics-Server는 각 노드에 설치된 kubelet을 통해서 node 및 pod의 CPU,Memory 의 사용량 Metric을 수집한다. Linux에서 사용하는 top 명령어를 k8s에서 사용할 수 있게 해준다고 생각하면 된다. #node 리소스 사용량 확인 ubuntu@ip-10-0-0-246:~$ kubectl top no NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% ip-10-0-0-167 134m 6% 2698Mi 70% ip-10-0-0-191 133m 6% 1616Mi 42% ip-10-0-0-246 309m 15% 1844Mi 48% #pod 리소스 사용량 확인 ubuntu@ip-10-0-0-246:~$ ..

DevOps/Kubernetes 2021.11.17

AWS EKS에서 ALB를 Ingress Controller로 사용해보자

쿠버네티스 클러스터 외부에서 내부로 통신하기 위해서는 NodePort, LoadBalancer 또는 Ingress를 사용하는 방법이 있다. 이번 게시물에서는 EKS 클러스터에서 Ingress Controller로 ALB를 사용하고 간단한 애플리케이션을 배포하여 테스트하는 과정에 대해서 이야기할 것이다. 우선, 본문에 들어가기에 앞서 외부와 통신하는 3가지 방법의 차이점에 대해서 적어보고자 한다. NodePort NodePort는 노드의 IP와 30000-32767 사이의 포트를 노출시켜 외부와 통신하는 방법이다. 이 방식은 1) 하나의 서비스당 하나의 포트만 할당할 수 있다는 점, 2) 포트가 제한적이라는 점, 3) IP가 바뀌면 접속 주소가 바뀐다는 점들을 고려하여 실제 서비스에서는 이 방식으로 서비스..

DevOps/Kubernetes 2021.10.17

kubeadm join 할 때 token값 확인하기

현재 구성되어 있는 클러스터에 새로운 워커노드를 join 해야할 때, kubeadm join 명령어를 통해서 클러스터에 추가시켜주게 된다. 하지만 막상 워커노드를 join 하려고 하니... 처음에 master 구성시에 kubeadm init 을 통해서 확인할 수 있었던 token 값을 모르겠다. 그럴때 쓰는 명령어.... token 값이 존재한다면 아래와 같은 명령어로 token 값을 확인할 수 있다. $ kubeadm token list token 값에는 만료기간이 있기 때문에, 위에서 token을 확인할 수 없다면 새로운 token을 생성해주어야 한다. $ kubeadm token create $ kubeadm token list Hash 값 확인 $ openssl x509 -pubkey -in /e..

DevOps/Kubernetes 2021.09.27

[k8s] kubernetes에 Prometheus와 grafana 연동하여 모니터링하기

prometheus를 통해서 kubernetes 클러스터를 모니터링 하는 방법과 grana로 대쉬보드 생성하는 방법에 대해 알아보자. 1. Prometheus 란? Prometheus는 현재 kubernetes 모니터링에 가장 많이 사용되고 있는 오픈 소스 기반 모니터링 시스템이다. CNCF에 소속되어 있으며, k8s 클러스터 및 컨테이너들을 손쉽게 모니터링 할 수 있다. 1. Prometheus 특징 promQL 쿼리 언어를 사용한다. Grafana 같은 대쉬보드 시스템을 이용하여 대쉬보드로 측정 값을 모니터링 할 수 있다. 메트릭 이름과 key-value 형태로 식별되는 시계열 데이터를 제공한다. 경고(Alert)와 룰셋(Ruleset)을 만들 수 있다. 2. Prometheus 구조 모니터링을 하기..

DevOps/Kubernetes 2021.05.01

[EKS] AWS EKS를 사용하여 클러스터 구성하기

이번에 해볼것은 AWS EKS를 사용해서 클러스터를 구성해 볼 것이다. EKS를 사용해서 클러스터 구성하는 방법은 다음과 같다. 1. eksctl 사용하기 2. AWS Management Console 사용하기 이번에 내가 사용할 방법은 AWS Management Console 사용하여 구성할 것이다. 이 실습의 진행순서는 다음과 같다 1. AWS CLI 설치하기 2. AWS CLI Configure 구성 3. Kubectl 설치하기 4. EKS 클러스터 IAM 역할 생성 5. EKS 워커노드 IAM 역할 생성 6. VPC 및 서브넷 생성 7. EKS 클러스터 생성 8. kubeconfig 생성 9. 노드 그룹 생성 1. AWS CLI 설치하기 로컬환경에 AWS CLI를 설치하자. AWS CLI를 사용해..

DevOps/Kubernetes 2021.04.26

[kubenetes] Kubeadm 사용하여 K8s 클러스터 구성하기

Kubeadm ? kubeadm은 kubenetes Cluster를 빠르게 구성하도록 만들어진 도구이다. 이번 글에서는 Kubeadm을 사용하여 k8s 클러스터를 구성하는 과정에 대해서 알아보도록 할 예정이다. kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/_print/#pg-4c656c5eda3e1c06ad1aedebdc04a211 kubeadm으로 클러스터 구성하기 운영 수준의 컨테이너 오케스트레이션 kubernetes.io 위의 링크는 Kubeadm 설치하는 공식 문서이다. 1. 시작하기전 구성... * 권장 사양 : CPU 2코어 , RAM 2GB 이상 * kubenetes 구성 요소가 사용하는 포트에 대해 방화벽 오픈 -마스터..

DevOps/Kubernetes 2021.04.24

[kubernetes] 쿠버네티스의 구성요소 ! (Controller)

쿠버네티스를 구성하는 요소에는 객체와 컨트롤러가 있다. 지난 게시물에서 객체에 대해서 간단히 알아보았고, 이번에는 컨트롤러에 대해서 알아보도록 하자. 컨트롤러란? Pod를 관리하는 역할을 한다. Pod를 어떻게 관리하느냐에 따라서 쿠버네티스에서 제공하는 컨트롤러를 사용한다. 2. 컨트롤로의 종류는? ReplicaSet, Deployment, DaemonSet, StatefulSets, Job이 있다. 3. 각 컨트롤러를 관리 목적에 맞게 분류 3-1. 상태를 유지하지 않아도 되는 파드를 관리 (Stateless) - ReplicaSet, Deployment 3-2. 상태를 유지해야 하는 파드를 관리 (Stateful) - StatefulSet 3-3. 클러스터 전체에 배포가 필요한 파드를 관리 - Dae..

DevOps/Kubernetes 2021.04.20

[CKA] CKA 시험 합격

CKA 시험 준비를 해보자~!~!~!~!!!!!!!!!!!! CKA는 2시간동안 17문제를 풀면 된다. 한번 결제하면 1년안에 시험을 두번 치르게 해줘서 좋은것 같아 그래서 첫 시험은 문제 유형좀 살펴볼 겸 불합격할 생각으로? 시험을 봤다. 당연히 결과는 불합격. 시험 문제보다 가장 난관이였던 것은 바로.. 영어 해석... 영어에 자신이 없는 사람은 크롬에서 제공하는 익스텐션 구글 번역기를 사용하자... 문제에서 요구하는 조건을 모르겠으니 문제를 풀수가 없었다 ㅠ 시험공부는 Udemy 강의에서 제공하는 Kodekloud 연습문제 위주로 해나갔다. 강의를 듣고 싶었는데 강의마저 영어... 심지어 자막도 들리는대로 이상하게 붙여놔서 읽을 수 조차 없다. 다행히도 연습문제에서 나오는 것과 크게 다르지 않은것 ..

DevOps/Kubernetes 2021.03.22

[Kubernetes] Kubernetes의 구성요소 ! (Object)

Kubernetes 구성요소 kubernetes를 구성하는 객체(Object)와 객체를 관리하는 컨트롤러(Controller)로 구성된다. 객체에는 Pod, Service, namespace, volume 이 있고 컨트롤러에는 DemonSet, Deployment, ReplicaSet, StatefulSet, Job 이 있다. kubernetes는 객체 생성을 위해 kubernetes API를 사용할 때, JSON형식으로 데이터를 제공해야 하는데, kubectl에서 yaml파일의 형식을 JSON으로 변환시켜 준다. Kubernetes는 이러한 객체와 컨트롤러를 Yaml 파일의 형식으로 템플릿을 작성하고 배포한다. Yaml파일 템플릿을 작성하는 기본적인 구조는 다음과 같다. 아래 4개는 꼭 들어가야함! a..

DevOps/Kubernetes 2021.03.17