전체 글 (220) 썸네일형 리스트형 [Linux]Slave 서버에서 VIP 확인이 안되는 경우, 서버간 통신 설정(sysctl.conf) Slave 서버에서 VIP 확인이 안될 경우 cat > /etc/sysctl.conf # 양쪽 노드에서 /etc/sysctl.conf 파일에 IP 가 포워딩될 수 있도록 net.ipv4.ip_forward = 1 # 로컬 호스트 주소 이외의 다른 가상 IP에 바인딩할 수 있도록 net.ipv4.ip_nonlocal_bind = 1 # 자신의 네트워크가 스푸핑된 공격지의 소스로 사용되는것을 차단 net.ipv4.conf.default.rp_filter = 2 # 스푸핑을 막으려고 source route 패킹을 허용하지 않도록 net.ipv4.conf.default.accept_source_route = 0 EOF sysctl -p /etc/sysctl.conf [Linux]Kill Zoobie(Defunct) process Problem 프로세스 테이블이 다 차서 더이상 프로세스를 실행할 수 없는 상황 발생 Cause 실행 을 완료했지만( [exit]() 시스템 호출 을 통해 ) 여전히 프로세스 테이블 에 항목 이 있는 프로세스입니다. 종료가 되다만 프로세스 종료 단계에 멈춰 있는 프로세스 비정상적인, 종료되지 않는 프로세스 부모프로세스가 죽었는데도 남아있는 자식프로세스 또는 부모프로세스가 비정상인 경우 자식 프로세스가 종료되어 사용하는 리소스는 모두 해제된 상태지만, 부모 프로세스가 자식 프로세스의 종료를 확인하지 못한 상태로 커널의 프로세스 테이블에는 관리되고 있는 상태 Solution process 찾기 ps -ef | grep defunct | grep -v grep counting zoombie process ps.. [Nginx]X-Forwarded-For(XFF) 설정 Concept 웹 서버나 웹 어플리케이션 서버(WAS) 앞에 L4 또는 프록시 서버를 두면, 웹 서버는 클라이언트가 직접 연결한 것이 아니라, 프록시 서버를 통해 연결된 것으로 인식합니다. 쉽게 설명하면, 웹 서버는 실제 사용자의 IP 대신 프록시 서버의 IP를 보게 됩니다. 클라이언트 (실제 사용자) ⟶ 프록시 서버 ⟶ 웹 서버 이때 웹 서버가 실제 클라이언트의 IP 주소를 알아내려면 어떻게 해야 할까요? 바로 X-Forwarded-For라는 헤더를 사용하는 것입니다. X-Forwarded-For란? X-Forwarded-For (XFF) 헤더는 프록시 서버나 로드 밸런서를 통해 웹 서버에 도달하는 HTTP 요청에서 원래 클라이언트의 IP 주소를 식별하는 데 사용됩니다. 예를 들어, XFF 값이 cli.. [Kubernetes]Pods are not moved when node in not ready state Problem 서버 셧다운, 리부팅시 실제 해당 서버에 떠있는 파드로 통신은 할 수 없지만 kubectl 명령어로 확인했을때 running 상태인걸 확인 할 수 있다. 리부팅되어 서버가 정상화 되어도 pod가 다른 node가 아닌 기존 node에 할당 되어 있는것을 확인할 수 있다. Cause pod, node의 헬스체크 주기가 길어 실제 node에 문제가 생겼지만 다음 헬스체크까지 이상을 감지 못하는 상황 Solution kube-apiserver.yaml, kube-controller-manager.yaml 에서 아래 옵션을 변경하여 not ready 상태의 노드 체크 주기를 줄인다 api-server https://kubernetes.io/docs/reference/command-line-tools.. [GCP]CloudSQL Server-Client Certificate Configuration CloudSQL (mysql) 인증서 구성 서버 인증서 자동 생성, 만료일 10년 서버 인증서 순환 인증서 만료에 관한 알림(3개월전에 메일)을 받았거나 순환을 시작한 경우 진행 순서 서버 인증서 순환 클라이언트에 서버 인증서 교체 클라이언트 인증서: 인스턴스당 10개로 제한 참고 Cloud SQL 인스턴스가 공개 IP 주소를 사용하는 경우 SSL/TLS를 구성 할 때 MySQL 클라이언트의 IP 주소를 승인된 네트워크 로 추가해야 합니다. CloudSQL Instance SSL/TLS 적용 gcloud sql instances patch INSTANCE_NAME \ --require-ssl SSL 연결허용 시 인스턴스 재시작 필요 서버 인증서 만들기 인증서 정보 가져오기 gcloud beta sql s.. [Python]Database 연결하기 - Sqlite3, Mysql, Mariadb SQLite3 연결하기 import sqlite3 """ sqlite3 Connector """ try: conn = sqlite3.connect('example.db') except sqlite3.Error as e: print(f"Error connecting to sqlite3: {e}") cur = conn.cursor() 데이터베이스 접속하기: sqlite3.connect(파일명) 해당 파일명이 없으면 새로 해당 파일이 생성되며 존재한다면 해당 파일에 접속 파일명을 하나의 데이터베이스라고 인지하면 됨 conn = sqlite3.connect(파일명) 과 같이 작성하여, 접속한 데이터베이스를 conn 변수로 가리킬 수 있으며, 이후 데이터베이스 접근 시 conn 변수를 사용하면 됨 커서 가져오기:.. [Prometheus]Add Custom Prometheus Rule with helm chart Rules에 등록할 Prometheus 쿼리 작성 Adding alert rules https://docs.syseleven.de/metakube-accelerator/building-blocks/observability-monitoring/kube-prometheus-stack#adding-alert-rules e.g. GCE CPU 사용률 sum by (instance, instance_name, project_id, zone)(stackdriver_gce_instance_compute_googleapis_com_instance_cpu_utilization) / sum by (instance, instance_name, project_id, zone)(stackdriver_gce_instance_co.. [ArgoCD]Install ArgoCD from Helm chart Install ArgoCD from helm chart with creating pv, pvc Add repo helm repo add argo Install argocd CLI VERSION=$(curl --silent "" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\\1/') curl -sSL -o /usr/local/bin/argocd chmod +x /usr/local/bin/argocd Change Password Get initail password helm install 이후 명령어 확인 kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | ba.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 28 다음