쿠버네티스
-
Thanos compactor error: pre compaction overlap check: overlaps found while gathering blocksTrouble Shooting 2024. 3. 3. 09:52
Thanos compactor를 사용하다보면 종종 다음과 같은 error를 마주할 수 있다. level=error ts=2018-08-08T14:49:50.954091484Z caller=main.go:160 msg="running command failed" err="compaction: pre compaction overlap check: overlaps found while gathering blocks. [mint: 1532649600000, maxt: 1532656800000, range: 2h0m0s, blocks: 2]: , \n[mint: 1532685600000, maxt: 1532692800000, range: 2h0m0s, blocks: 2]: , \n[mint: 15326136000..
-
Kubernetes API 이용해서 사용자 인증서 및 Context 만들기K8S 2023. 12. 30. 10:24
이번 포스팅은 Kubernetes API를 이용해서 사용자나 서비스에 대한 인증 정보를 생성하고 설정하는 과정에 대해서 다룬다. 수동으로 설정하는 방법은 다음 포스팅을 참고한다. Kubernetes에서 수동으로 사용자 인증서와 Context 만들기 이번 포스팅은 쿠버네티스 클러스터와 상호작용하는 사용자나 서비스에 대한 인증 정보를 수동으로 생성하고 설정하는 과정에 대해서 다룬다. 1. 사용자 키 생성 사용자의 개인 키를 생성하기 seungjuitmemo.tistory.com 1. 사용자 키 생성 사용자의 개인 키를 생성하기 위해 OpenSSL을 사용한다. 이 키는 사용자의 인증서를 생성하는 데 사용된다. openssl genrsa -out test-user.key 2. CSR(인증서 서명 요청) 생성 생..
-
Kubernetes에서 수동으로 사용자 인증서와 Context 만들기K8S 2023. 12. 29. 19:23
이번 포스팅은 쿠버네티스 클러스터와 상호작용하는 사용자나 서비스에 대한 인증 정보를 수동으로 생성하고 설정하는 과정에 대해서 다룬다. K8S API를 통해 사용자 인증서를 생성하는 방법을 알고 싶다면, 다음을 참고한다. Kubernetes API 이용해서 사용자 인증서 및 Context 만들기 이번 포스팅은 Kubernetes API를 이용해서 사용자나 서비스에 대한 인증 정보를 생성하고 설정하는 과정에 대해서 다룬다. 수동으로 설정하는 방법은 다음 포스팅을 참고한다. Kubernetes에서 수동으 seungjuitmemo.tistory.com 1. 사용자 키 생성 사용자의 개인 키를 생성하기 위해 OpenSSL을 사용한다. 이 키는 사용자의 인증서를 생성하는 데 사용된다. openssl genrsa -..
-
Kube-bench 정리 및 사용 예시K8S 2023. 12. 29. 15:41
Kube-bench란? Kube-bench는 쿠버네티스 클러스터의 보안을 평가하는 도구다. 이 도구는 CIS Kubernetes Benchmark에서 권장하는 베스트 프랙티스에 따라 클러스터의 구성을 검사하고 평가한다. 이를 통해 쿠버네티스 클러스터의 보안 수준을 진단하고, 잠재적인 취약점을 식별할 수 있다. Kube-bench는 쿠버네티스 컴포넌트(예: API 서버, etcd, kubelet 등)의 구성을 자동으로 검사하여, CIS Kubernetes Benchmark의 권장사항과 비교한다. 사용 예시 - 마스터 노드 보안 검사 실행하기 마스터 노드에서 다음 커맨드를 실행해본다. kube-bench run --targets master kube-bench run --targets master 명령어는 ..
-
Kubernetes Network Policy 정리 및 예시K8S 2023. 11. 26. 23:51
CNI 구현체 Network Policy는 Container Network Interface(CNI)에 의해 구현된다. 만약 선택한 CNI가 Network Policy를 지원하지 않는다면, 리소스가 생성되더라도 실제로 적용되지 않는다. 파드 그룹 제어 Network Policy를 사용하여 파드 그룹 간의 인그레스(Ingress)와 이그레스(Egress)를 제한할 수 있다. 이를 통해 파드 간의 네트워크 트래픽을 효과적으로 관리할 수 있다. Selector 사용 Namespace Selector나 Pod Selector를 사용하여 특정 네임스페이스 또는 파드 간의 네트워크 트래픽을 제어할 수 있다. 이는 네트워크 정책을 더욱 세밀하게 적용하는 데 도움을 준다. IPBlock 제어 특정 IP 범위(IPBlo..
-
Nginx를 Istio Gateway로 expose하는 예제K8S 2023. 8. 11. 16:16
다음은 Nginx를 Istio Gateway로 expose하는 예제다. 플로우는 다음과 같다. apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: nginx-gateway namespace: default spec: selector: istio: gateway # gateway 컨트롤러의 label을 명시한다. servers: - port: number: 80 name: http protocol: HTTP hosts: - "*" # 이 호스트에 대한 트래픽을 제어 --- apiVersion: networking.istio.io/v1alpha3 kind: VirtualService..
-
Netshoot: 컨테이너 환경에서의 네트워크 디버깅 도구K8S 2023. 8. 11. 13:31
네트워크 문제는 때때로 복잡하고 해결하기 어려울 수 있습니다. 특히 컨테이너 환경에서는 더욱 그렇습니다. `netshoot`는 네트워크 문제를 해결하고 디버깅하기 위한 Docker 이미지입니다. 이 이미지는 네트워크 유틸리티와 도구가 풍부하게 포함되어 있어, Kubernetes와 같은 컨테이너화된 환경에서 네트워크 문제를 쉽게 진단하고 해결할 수 있게 도와줍니다. Netshoot의 특징 풍부한 네트워크 도구: `netshoot`에는 `netstat`, `ifconfig`, `iperf`, `mtr`, `curl`, `traceroute` 등의 많은 네트워크 유틸리티가 포함되어 있습니다. Kubernetes와의 호환성: 문제가 있는 Pod나 노드의 네트워크를 효과적으로 진단하려면 `netshoot`를 해당..
-
Cert-manager 인증서 체인 만들기K8S 2023. 1. 10. 20:26
이번 포스팅은 cert-manager를 이용해서 인증서 체인을 만든다. 즉, 발급 받은 인증서를 CA로 사용하여 새로운 인증서를 생성할 때 이 CA 인증서로 sign한다. 1. self-signed로 root CA를 하나 만든다. apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: root-selfsigned spec: selfSigned: {} 2. 위에서 생성한 root CA를 이용해서 인증서를 만든다. apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: new-ca-cert namespace: cert-manager spec: secretName: new-ca-cert..