목록DevOps (42)
KJH
Prometheus의 단점을 보완하기 위해 나옴 prometheus만으로도 멀티클러스터 모니터링이 가능하긴 하지만, 각 클러스터에 볼륨을 설정해야하는 큰 단점이 있었고, 데이터가 유실될 위험성, ILM 같은 정책으로 인해 오래된 데이터는 삭제될 수 있음. 간략하게 기능 설명 Thanos: prometheus ha 구성을 할 수 있게 도와줌. 뿐만 아니라 prometheus 생태계를 개선 해줌 sidecar: proemtheus에서 수집한 데이터를 수신하고 blob에 tsdb형태로 업로드 함 store gateway: 로그를 blob에서 불러와서 thanos query에 전달 함 query: 로그를 한번에 조회 할 수 있게 해줌 query frontend: 쿼리 결과 cache하고 조회량이 많으면 쪼개서 ..

Loki는 인프라 로그 시스템이다. Loki 후기를 먼저 남기면 EFK 스택보다 구성 및 사용이 훨씬 편하게 느껴졌고, 상당히 마음에 들었다. 두개의 툴을 써야만 가능했던 시나리오를 하나에서 모두 사용하니 안쓸 이유가 없었기도 하다. Observability 도구인 LGTM 스택이 신조어로 등장했는데, 해당 스택의 구성 요소는 Loki, Grafana, Mimir(장기 저장 솔루션),Tempo(trace) 이고, 이 자료에선 k8s, windows로그들을 Loki로 보내서 grafana로 조회 해보려고 한다. Gateway: routing 룰이 적용된 nginx 서버로 loki로 proxy 해줍니다. Distributor: 들어오는 로그 데이터를 여러 ingester에 분산시켜, 데이터의 부하를 분산시킵..

서버와 클라이언트 간 통신을 할 때 생기는 패킷 및 데이터를 안전하게 전달 하기 위해 인증서를 사용하고서버가 신뢰할 수 있는 진짜 서버 임을 확인을 하는 용도로 사용하기도 한다. 공인 된 인증서를 발급하는 CA 기관 리스트는 OS(mac - keychain)나 브라우저(source Code)에 있고 공개키도 함께 가지고 있기에 인증을 할 수 있습니다.인증서에 담기는 정보들CA(인증 기관) 정보, 지문, 디지털 서명암호화 알고리즘서버 공개키, 서명보호할 도메인 ex) *.naver.comopenssl로 사설 인증서를 만들어 보기private key, csr, openssl config파일 생성CA 처럼 노출 돼서는 안되는 private Key를 자체적으로 생성 후 CSR 생성을 합니다CSR은 공인 인증서를..

지난번엔 GCP를 사용해서 정말 기본적인 기능만 다뤘고, 이번엔 Azure를 정리해보고자 한다. Terraform은 인프라 리소스를 코드로 관리가 가능해서 포털에서 사용하는 것 보다 안전하고, 편리하다! version.tf 이 파일에선 cloud provider를 정하고, 사용할 모듈을 받습니다. terraform.tfstate 생성 위치를 blob으로 설정해서 백업 및 재사용 가능하게 합니다. terraform { required_version = ">= 1.0.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "3.50.0" } } backend "azurerm" { resource_group_name = "Stora..

많은 머신들에게 일괄적으로 명령을 보낼 수 있게 하는 툴입니다. k8s에서 helm차트로 ansible job을 사용하는 예제 Dockerfile ansible playbook용 image FROM alpine:3.14 RUN apk --no-cache add ansible openssh-client python3 py3-pip bash curl RUN pip install pywinrm WORKDIR /ansible-playbooks CMD ["ansible-playbook", "--version"] Job.yaml job이 시작, 종료 됐을 때 각각 로그를 incoming webhook으로 slack에 전송합니다. 각종 shell은 configmap mount로 job이 돌때 가져오게 되어 있습니다...

prometheus에 윈도우 머신을 import할 수 있는 툴입니다. ※ 수집가능한 metric 종류는 많음https://github.com/prometheus-community/windows_exporter GitHub - prometheus-community/windows_exporter: Prometheus exporter for Windows machinesPrometheus exporter for Windows machines. Contribute to prometheus-community/windows_exporter development by creating an account on GitHub.github.com※ container 옵션도 있는데 Hyper-V가 꺼져있는 경우 event ..

패스워드 같은 민감한 정보들은 yaml에 직접 사용하는게 아닌 keyvault에서 불러오기 위함 az command로 provider를 활성화 합니다. az aks addon enable --addon azure-keyvault-secrets-provider -n AKS-DevOps -g devops keyvault를 생성하고 secret를 생성합니다. [ RBAC 기반으로 만듭니다 --enable-rbac-authorization true ] KV=aks-test01 SECRET1=password1 VALUE1=123 SECRET2=password2 VALUE2=123 k8sRG=K8S storageRG=storage CLUSTER=Backend-Test region=KoreaCentral az aks..

Packer는 Hashicorp에서 제공하는 서버 이미지 생성 자동화 도구이고, 수작업으로 머신에 들어가서 작업하는 내용을 선언형 프로그래밍으로 자동화 합니다! ※ packer 빌드 파일은 hcl로 작성됨 예제는 azure를 기반으로 작성 되어 있습니다 packer { required_plugins { azure = { version = ">= 1.0.0" source = "github.com/hashicorp/azure" } } } 변수 선언 방법 variable "AZURE_CLIENT_ID" { type = string default = "" } 중복을 방지하기 위해 시간 단위로 변수 선언 방법 locals { timestamp = regex_replace(timestamp(), "[ - TZ:]"..