본문 바로가기

분류 전체보기

(202)
[Kubernetes] (10) replicaset / replica컨트롤러 레플리카셋은 일정 개수의 포드를 유지하는 kubernetes 컨트롤러이다. 레플리카셋을 사용하는 이유: 1.고가용성(HA) = 정해진 수의 동일한 포드가 항상 실행되도록 관리합니다. = 노드 장애 등의 이유로 포드를 사용할수 없다면 다른 노드에서 포드를 다시 생성합니다. 2. 로드밸런싱(LoadBalancer) = 사용자의 증가로 인한 Traffic 분산 3. 자동 스케일링(Scaling) = 클러스터 내 Pod를 더 배포함 Replication Controller Replicaset Old skill Alternative Skill [ 레플리카 컨트롤러 / 레플리카 셋 ]의 차이점을 yaml 배포방법을 보면서 설명한다. 레플리카 컨트롤러 생성하기 1. spec 섹션에는 우리가 만들려는 생성물의 안에 어..
[Kubernetes] (9) Pod Pod에 대해서 이해하기 전에, 우리는 어플리케이션이 이미 개발이 되어있고, 그리고 도커 이미지와 이를 활용할수 있는 도커 repository가 준비가 되있다고 가정하겠다. 그래서 kubernetes 클러스터가 도커 이미지 파일을 땡겨갈수 있어야 한다. Pod란 무엇일까? 쿠버네티스 object중 가장 최소 단위이다. 이 Pod를 쿠버네티스 클러스터 안에 생성할수 있다. 하나의 Pod안에는 여러개의 컨테이너가 만들어질수도, 한개의 컨테이너가 만들어 질수도 있다. 그러나 kubernetes.io 공식 홈페이지에 따르면, 멀티-pod 컨테이너는 드문 케이스이다. 즉 한개의 pod안에는 한개의 container을 생성하는것이 적당하다. 이제 pod가 배포되는 과정에 대해서 살펴보자. kubectl = 즉 쿠바..
history 명령어 history history 명령어를 사용하면 전에 사용한 명령어를 순서대로 확인할 수 있습니다. history 7 가장 최근에 사용한 7개의 명령을 확인합니다. (특정 개수 만큼 확인) history | grep sudo grep 명령을 함께 사용하면 필요한 명령을 좀 더 쉽게 검색할 수 있습니다.
호스트 네임바꾸기 호스트 네임이란 가상머신의 이름과 같은것이다. 처음 시작할때는 localhost.localdomain으로 되어있었다. # hostname 확인 [root@localhost ~]# hostname localhost.localdomain # hostname 영구적인 변경 [root@localhost ~]# hostnamectl set-hostname myhost # 변경된 hostname 확인 [root@localhost ~]# hostname myhost
[Kubernetes](8) kubeadm으로 k8s 구성(2) 다음은 k8s 클러스터에 대한 개념정리입니다. 지난시간에 Master노드에 kube admin을 통해서 컨트롤 플레인 설치를 완료했다. etcd api server controller-manager scheduler 그 후 , kubeadm init 시행 --> 컨트롤 플레인 (마스터 노드 실행) [워커노드에서 실행] kubeadm join 172.15.0.158:6443 --token htahde.26hi3ewr2z86zm17 \ --discovery-token-ca-cert-hash sha256:9fa019cf326f6d503ea033321758cd3a7361330bfd35c0324cc34eece31c641a ## 다음과 같은 에러가 날때, 권한을 정리해줘야 한다. export 명령어 => 환경 변수..
사용중인 프로세스 확인/ 사용중인 포트 죽이기 상황: mariadb와 mysql 서비스가 같은 포트를 사용하기때문에, 사용하려는 db가 error를 통해 서비스를 중단시킴. 따라서 mariadb 프로세스의 포트를 확인하고 해당 서비스를 죽이려고 함. 사용중인 프로세스 확인 # netstat -lnp | grep mariadb # 해당 서비스의 이름을 알고있을때 # lsof -i TCP:3306 # 서비스의 이름은 모르고 포트를 알고 있을때 사용중인 포트 죽이기 # kill xxx -자동 시작되는 서비스 확인 # systemctl list-unit-files --type service -자동시작이 켜져있다면 서비스 disable 시키기 # systemctl disable mariadb
[JS] Object와 String의 관계 자바스크립트에서 typeof 함수는 파라미터가 객체인지, 어떤 타입을 갖는지를 확인한다. var -즉 variable 변수는 자바에서와 다르게 변수가 어떤 타입인지를 나는 알수가 없다. var a= "kubernetes"; 다음 변수는 String 타입일것이다. var b= ["key": "value"] 다음 변수는 Object 타입일것이다. String 타입과 Object 타입은 서로 상황에 맞게 toString 함수 혹은 json.parse 함수등을 이용하여 서로 모습을 바꿔가면서 사용한다.
[프로메테우스](4) CPU / 메모리 사용률 계산하기 프로메테우스는 PromQL을 사용하여 메트릭을 수집한다.  Pod 와 Service 단위의 모니터링을 개발 해야 할 때 , 프로메테우스에서는 쿼리를 통한 가공이 필요하다.container_cpu_seconds_total 데이터와 container_memory_work_bytes 데이터를 가공메모리는 정량적인 사용량 기반으로 메트릭을 단순하게 뽑아낼수 있는데,  cpu는 전체 core에 대한 영향을 받기 때문에 함수 이용목표1. 컨테이너 또는 POD의 리소스 사용량 (CPU, 메모리)에 대한 메트릭을 계산2. 프로메테우스의 함수에 대해서 이해 CPU는 분모가 명확하지 않기때문에, sum 또는 rate 함수를 적용해야한다.   1. CPU 계산법 컨테이너는 쿠버네티스의 가장 최소단위로 한개의 POD안에 여러..