반응형 kubernetes36 Spring Boot EndPoint(Liveness, Readiness) 활용 SpringBoot 2.3 부터 Kubernetes의 Probe와 통합되어서, 좀 더 Cloud Native한 경험을 만들 수 있는 방법이 추가 되었습니다. 그 방법은?Kubernetes의 LivenessProbe와 ReadinessProbe가 있는데, SpringBoot 2.3부터 liveness와 Readiness의 상태를 EndPoints로 노출할 수 있게 되었습니다. EndPoints/actuator/health/liveness/actuator/health/readiness 이를 통해 Kubernetes에서 아래와 같이 Probe를 활용할 수 있습니다. livenessProbe: httpGet: path: /actuator/health/liveness port: 18080 init.. 2024. 8. 12. Kubernetes API서버 인증서에 SANs 추가 Kubernetes API 서버에서 사용하는 TLS인증서에 SANs(주체 대체 이름)을 추가하는 방법을 작성합니다. 이를 하는 이유는 몇가지 시나리오가 있겠지만, -. Control Plane 앞에 Load Balancer를 추가하거나, -. API 서버에 액세스 하는데 사용되는 새로운 Host/URL을 사용하는 상황-. 등...이 있습니다. 아래 상황은 클러스터가 kubeadm을 이용해 클러스터를 bootstrapping 할때 만든 기본 인증기관(CA)를 사용한다고 가정하며, 단일 Control Plane 구성을 사용하는 중이라고 가정합니다. [API서버의 인증서 업데이트]초기에 kubeadm을 통해 cluster를 bootstrapping 했기때문에, API서버의 인증서를 업데이트(SANs추가작.. 2024. 7. 8. Kubernetes 리소스 CPU/MEM (Request / Limit) Kubernetes에서 개별 컨테이너에 CPU와 MEM 리소스를 지정할 수 있습니다. 이때 사용하는 CPU와 MEM의 값을 지정하는 방법과 의미하는 바를 정리해보려합니다. [CPU]CPU리소스는 CPU 단위로 측정된다. Kubernetes에서 1CPU = 1 AWS vCPU = 1 GCP Core = 1 Azure vCore = 1 하이퍼스레드 분수값 설정도 가능하다. 0.5CPU 라던가. 접미사 m을 사용하여 밀리(milli)를 표현할 수도 있다. Ex) 100m CPU = 0.1 CPU로 같다. 1m보다 정밀한 표현은 허용하지 않는다. 만약, 컨테이너가 동작하는 노드가 가진 CPU보다 높은 CPU요청량을 지정할 경우? > 노드의 CPU 리소스가 부족하여 Pod가 스케줄링 될 수 없음을 보여준다. .. 2024. 7. 4. [Kubernetes Ingress] 다른 namespace의 Service로 전달하기 기본적으로 Kubernetes에서 Ingress는 Namespace에 종속적입니다. 그런데 비지니스 요구사항에 의해, B Namespace의 Ingress로 들어오는 네트워크 트래픽을 A Namespace에 존재하는 Pod가 처리하기를 원하는 경우, 아래와 같이 트래픽을 전달해줄 수 있습니다. 위와같이 구현하기 위해서는. B Namespace에 있는 Service를 "ExternalName" Type으로 생성하면 됩니다. spec: type: ExternalName externalName: ..svc.cluster.local 그러면 B Namespace의 Service로 들어온 트래픽에 Alias 역할을 하여 A Namespace의 Service로 전달이 됩니다. 2024. 6. 26. Multi interface일때 Calico 설정 추가 Kubernetes Worker Nodes의 Interface가 여러개 일때, 혹은 interface가 추가 되어있을때,Calico가 의도하지 않는 interface로 터널링을 시도하면 오류가 발생할 수 있으니,아래 옵션으로 터널링을 만들 interface를 찾을 수 있게 해야합니다. #여러 인터페이스일때 터널링으로 사용할 인터페이스를 찾기위해 넣은 옵션- name: IP_AUTODETECTION_METHOD value: can-reach=111.22.127.129 Node 서버의 Interface가 여러개일때, Calico가 통신하기 위한 인터페이스를 지정해줘야 합니다. 해당 인터페이스를 지정해주기 위해 넣는 옵션이 아래와 같습니다. . 예를 들면, "111.22.127.129(gateway)"를.. 2024. 6. 2. CRI-O 튜닝포인트(kubernetes) 컨테이너 런타임으로 crio를 사용하는 경우, 서비스를 올바르게 동작하려고 한다면, "최대프로세스의 수" 와 "최대 오픈 파일 수"를 조정해야 합니다. (To ensure that services can run correctly, you must adjust the maximum number of processes and the maximum number of open files in the CRI-O container settings.) [최대프로세스 수]컨테이너에 허용되는 최대 프로세스 수는 pids_limit 매개변수를 설정해야 합니다. (https://github.com/cri-o/cri-o/blob/main/docs/crio.conf.5.md) CRIO 1.23버전까지 pids_limit의 옵.. 2024. 6. 2. 이전 1 2 3 4 ··· 6 다음 반응형