Prometheus - kubelet의 통해 container - target system에서 메트릭을 수집하는 "폴링"방식 모든 메트릭에 대한 데이터를 중앙 서버로 보내지 않아도 된다는 점에서 과부하를 방지할 수 있다. - 프로메테우스가 "주기적으로" exporter에서 메트릭을 읽어와서 수집(메모리와 로컬디스크에 저장됨) -> exporter는 저장기능 없음 - 장기간 데이터 유지 -> 시계열 데이터 저장소로 구성되어 있어 많은 양의 정보를 빠르게 검색 가능 모든 쿠버네티스 오브젝트의 메트릭을 가지고 있는 kube state metric kubelet에 포함된 cAdvisor를 통해 컨테이너의 메트릭 정보를 볼 수 있음 k8s metric server & k8s client library /metri..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bDNI5f/btrySO7Wz6J/wqYddSSZkkRaV7e4Gdn2ik/img.png)
한 개의 쿠버네티스 클러스터에는 다음과 같이 Master 노드를 포함하여 여러개의 Worker 노드로 구성되어 있다. 공식 홈페이지의 구성도는 다음과 같다. 전체 Cluster의 리소스를 직접적으로 모니터링 하는 것보다는 각각 노드 레벨에서의 할당가능한 자원량을 모니터링하는 것이 정확할 수 있다 . 파드는 자신과 노드의 여러가지 조건에 따라서 특정 노드에 스케쥴링 되기 때문이다. 이때 파드가 고려하는 것은 리소스에 대한 개별 및 총체적 요구 사항, 하드웨어/소프트웨어/정책적 제약, 어피니티(affinity) 및 안티-어피니티(anti-affinity) 명세, 데이터 지역성, 워크로드-간 간섭, 데드라인 등이 있다. Pod 는 Node의 모든 자원을 활용할 수는 없다. Node 는 다음과 같이 4가지로 자..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/kTDg1/btryoZaIynD/FB4u8zzoxSV6jEL2DN9KC1/img.png)
내가 준비했었던 CKA의 연습문제 그리고 실제시험에는 다음과 같은 유형의 문제가 나온다. 이 글에서는 이 문제를 해결하면서 쿠버네티스의 인증에 대해서 풀어볼 것이다. Create a new user called john. Grant him access to the cluster. John should have permission to create, list, get, update and delete pods in the development namespace . The private key exists in the location: /root/CKA/john.key and csr at /root/CKA/john.csr. Important Note: As of kubernetes 1.19, the Cert..
클래스 외부 오브젝트 = 오브젝트 함수 = 함수 변수 = 변수 클래스 내부 (메모리 영역이 다름) 오브젝트 = 인스턴스 함수 = 메소드 변수 = 클래스변수 또는 인스턴스변수 프로그램을 실행하면 프로그램 정보가 메모리에 할당되고 프로그램에서 사용하는 변수들을 저장할 다양한 메모리 공간이 필요하다 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 CPU는 프로그램 코드를 가져와 메모리를 관리하고 명령문(function, method)을 실행한다.
vm에 nat, nat network, host only 등의 네트워크 어댑터를 이용하여 네트워크 설정을 하고 master node를 셋팅하면 master node의 internal ip가 private ip로 나올 것이다. 이 경우에는 kubeadm join을 했을 때 certificate is valid for 10.96.0.1, 10.0.2.15, not 라는 에러가 나올 것이다. (물론 이전에 master node의 apiserver가 그 공인ip에서 포워딩되도록 했다는 전제이다.) 왜냐하면 master node의 kubeadm init을 내부ip로 했기 때문이다. 해결방법은 certification이 worker node에서 추가하려는 master node의 공인 ip에 valid되게 만드는 것..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/0Dent/btrwUlstonJ/dKP3OdZAumPY79pwt2t271/img.png)
ssh /etc/gitlab/gitlab.rb 파일을 수정하기 gitlab_rails['gitlab_ssh_host'] = 'gitssh.example.com' #에디터 종료후 gitlab-ctl reconfigure http(s) Admin Area > Settings > General > Visibility and access controls reference: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18422
https://www.virtualbox.org/ticket/14748?cversion=0&cnum_hist=8 #14748 (nat network hangs intermittantly) – Oracle VM VirtualBox Host: Ubuntu 14.04 64Bit Virtualbox 5.0.8 Guest: Windows Server 2012, Windows XP - defect present for both guests. Both guests are headless, used only by RDP. Sometimes (1-2 times per day) guest network adapter stops to recieve any packets from "media", ca www.virtualbo..
Gitlab-runner 버전 확인 gitlab-runner --version | head -n 1 | awk '{print $2}' gitlab과 버전이 맞아야함!!! gitlab runner 버전 변경 sudo gitlab-runner stop 원하는 gitlab runner 다운로드 (예를 들어 14.7.0) sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/v14.7.0/binaries/gitlab-runner-linux-amd64" 그리고나서 sudo chmod +x /usr/local/bin/gitlab-runner sudo gitlab-runner start