본문 바로가기
반응형

IT Knowledge/Kubernetes33

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.
Docker VS Kubernates 구분하기 Docker와 Kubernetes를 혼동하는 분들을 위해 작성하였습니다.  도커(Docker)란? '컨테이너 기반의 오픈 소스 가상화 플랫폼'이며 '한 개의 컨테이너'를 관리하는데 최적입니다.쿠버네티스(Kubernetes)란? '여러 개의 컨테이너'를 서비스 단위로 관리하는데 최적화되어 있는 오케스트레이션 툴입니다.   '컨테이너 오케스트레이션 툴'은 여러 컨테이너를 스케줄링 / 클러스터링 / 서비스 디스커버리 / 로깅 및 모니터링을 하는 도구입니다.  ClusteringAuto-PlacementAuto-Restart무중단배포 쿠버네티스의 장점- 컨테이너 스케줄링이 편리해진다.  사용자가 일일이 서버 선택할 필요 없이, 쿠버네티스가 가장 적절한 워커노드를 골라서 리소스를 할당하게 됩니다. - 확장성이 좋.. 2024. 5. 27.
반응형