반응형

Kubernetes 42

Operator로 배포하는 Gateway API 형태의 Kong API Gateway

안녕하세요? Kong API Gateway를 Ingress가 아니라 Gateway API 형태로 설치해 보고 간단하게 테스트해 본 얘기를 해보겠습니다.그리고 Kong API Gateway는 Operator 패턴으로 배포하였습니다. 설치하기 쉽게 가이드 형태로 작성해보겠습니다. TL; DR구조를 그려봤는데, 아래와 같은 형태가 되는 것 같습니다.Gateway API에 대해서Ingress는 frozenIngress는 frozen 되었습니다.Ingress | Kubernetes 를 보면 동결되었고 Gateway API에 새로운 기능이 추가된다고 나와 있습니다.이제는 Gateway API | Kubernetes문서를 봐야 되네요. Gateway API는 뭔가요? Gateway API를 쉽게 표현하면 기존의 In..

Kubernetes 2024.10.09

Kubernetes Kube-proxy의 IPVS 모드

안녕하세요?이번 글에서는 Kube-proxy의 IPVS 모드에 대해서 알아보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 5주차 과제로 작성되었습니다.Kube-proxy 모드 중 IPVS 모드에 대해서IPVS란?지난 글 에서도 봤듯이,Kube-proxy는 클러스터 내부에서 서비스 간의 네트워크 요청을 적절한 Pod로 라우팅하는 역할을 합니다.이 라우팅 방식에는 세 가지 모드가 있으며, 그 중 하나가 IPVS 모드입니다. IPVS(Internet Protocol Virtual Server)는 리눅스 커널 레벨에서 제공하는 고성능 (소프트웨어) 로드 밸런서로, 클러스터 내에서 트래픽을 처리하는 방식입니다. 리눅스 커널 모듈로 동작하며,..

Kubernetes 2024.10.03

Kubernetes Kube-proxy의 iptables proxy mode, ClusterIP 심화 탐구

안녕하세요? Kubernetes Service인 ClusterIP 구조를 Kube-proxy의 mode와 엮어서 평소보다 좀 더 깊게 파보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 4주차 과제로 작성되었습니다.환경 구성클러스터 배포이전에 했던 것과 같이 kind로 클러스터를 배포합니다.kind manifest에서 아래 조건들을 확인합니다.pod의 서브넷, service 서브넷에 유의합니다.네트워킹 부분을 보면 podSubnet, serviceSunet에 대한 명시가 되어있습니다. networking:podSubnet: 10.10.0.0/16serviceSubnet: 10.200.1.0/24cat kind-svc-1w.yamlk..

Kubernetes 2024.09.28

Calico CNI의 구조를 파악하고 통신 테스트하기

들어가며안녕하세요?Calico CNI의 구조를 파악하고 Pod들간의 통신을 테스트한 글을 써보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 3주차 과제로 작성되었습니다. Calico CNI에 대하여Calico의 구조Calico는 쿠버네티스에서서 동작하는 CNI (Container Network Interface) 입니다.Calico 를 설명하는 그림으로 배웠지만 스스로 이해를 쉽게 하기 위해서 구조를 그려봤습니다.Calico를 CNI로서 설치하면 이런 구조로 통신이 가능해지는 것 같습니다.Calico CNI를 설치하면 Calico-node Pod가 배포됩니다.여기에서 실행되는 Felix, BIRD, Confd라는 3가지 프로세스를 ..

Kubernetes 2024.09.17

Pod내 container들의 namespace 정보와 Pause 컨테이너의 역할 알아보기

들어가며안녕하세요?Pod내 container들의 namespace 정보와 Pause 컨테이너의 역할 에 대해서 공부한 내용을 정리해보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 2주차 과제로 작성되었습니다. Pod와 Pause containerPod 는 1개 이상의 컨테이너를 가질 수 있습니다 : 예로는 Sidecar container 패턴이 있습니다.Pod 내에 실행되는 컨테이너들은 반드시 동일한 노드에 할당되며 동일한 생명 주기를 갖습니다 : Pod 삭제 시, Pod 내 모든 컨테이너가 삭제됩니다.Pod IP - Pod 는 노드 IP 와 별개로 클러스터 내에서 접근 가능한 IP를 할당 받으며, 다른 노드에 위치한 Pod 도 N..

Kubernetes 2024.09.08

Container Runtime과 CRI, 그리고 Containerd 알아보기

들어가며 안녕하세요?Container Runtime과 CRI, Containerd 에 대해서 공부한 내용을 정리해보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 2주차 과제로 작성되었습니다. Container RuntimeContainer Runtime이 뭔가요? CRI를 알아보기 전에 Container Runtime 부터 알아보겠습니다.여기저기 나온 그림들을 합쳐서 어떤 식으로 Kubernetes에서 container를 만들어 내는지에 대해 아래와 같은 구조를 그려봤습니다.High level runtime, Low level runtime 이라는 단어가 등장합니다.  Low Level Container Runtime 이 뭔가요?지..

Kubernetes 2024.09.08

Kind와 OrbStack를 사용해서 쉽게 Local에서 Kubernetes 사용하기

들어가며안녕하세요?Kind 라는 도구와 Orbstack를 함께 사용해본 후기를 써보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS (Kubernetes Advanced Network Study) 2주차 스터디의 과제로 작성하였습니다.Kind가 뭔가요?Kind를 이용하면 로컬에서 Kubernetes를 쉽고 간단하게 올릴 수 있습니다.Macbook M1 Pro를 사용하는 제 환경에서도 아주 편리하게 할 수 있습니다.Kind 공식문서에서는 이렇게 소개하고 있습니다.kind is a tool for running local Kubernetes clusters using Docker container “nodes”.kind was primarily designed for testing Kubernetes..

Kubernetes 2024.09.05

동료가 없어서 GitLab에 GPT 코드리뷰어 봇을 만든 건에 대하여

TL;DR 안녕하세요, "동료가 없어서 GitLab에 GPT 코드리뷰어 봇을 만든 건에 대하여" 시작하겠습니다. 사실 정말로 동료가 없어서 코드리뷰어 봇을 만들어야겠다고 생각한건 아니고, 코드 커밋시에 여러 보안 문제들을 자동으로 체크할 수 있는 도구를 만들어서 GitLab CI/CD에 붙여야겠다는 생각을 했습니다. 이 글은 GitLab v16.9(2024.1.21 현재)를 기준으로 작성되었습니다. LLM API 호출 최근 GPT로 대표되는 LLM들을 이용해서 여러가지 생산성이 있는 일들을 할 수 있게 되었고, 자동화시킨 코드에 대한 "피드백"은 그 중 하나일 것입니다. 어떤 형태로든, 외부 API나 자체 모델이나, GPT 모델을 호출할 수 있는 API를 갖고 있다면 코드리뷰를 해달라는 요청을 보낼 수 ..

DevOps 2024.01.23

FluentBit 만으로 간단하게 Kubernetes에 올라간 서비스 logging 해보기

FluentBit 란? FluentBit (https://docs.fluentbit.io/manual/about/fluentd-and-fluent-bit) 오픈소스 로그 프로세서 도구입니다. 자체 비교표에 의하면, 같은 생태계의 Fluentd와 비교하여 고성능이고 메모리 사용량이 적다는 사실을 알 수 있습니다. Fluentd와 Fluent Bit는 모두 Aggregator나 Forwarder로 독립적으로 사용될 수 있고 상호보완할 수도 있다고 설명하고 있습니다. Log Forwarder : 로컬 이벤트를 수집하기 위해 일반적으로 모든 노드에 설치되며, 이벤트 수신시 Aggregator로 전달 Log Aggregator : Forwarder로부터 지속적으로 이벤트를 수신하는 데몬이며, 이벤트를 버퍼링하고 ..

DevOps 2023.10.21

KServe ML Model monitoring 해보기 : Knative, Loki

이번 주 CloudNeta 스터디 주제는 Monitoring 이라 요즘 생각하고 있는 KServe의 모니터링과 관련된 글을 써보려고 한다. KServe는 ML Serving tool이니까, ML 시스템의 모니터링에 대한 얘기가 되어야 할 것 같다. ML system 에서의 Monitoring ML 시스템에서의 모니터링은 다른 모니터링과 뭐가 다를까에 대해서 참고할 만한 책이 있다. 최근에 읽고 있는 Reliable Machine Learning 이란 책인데, 이 책의 9장은 Monitoring and Observability이다. 거기서 이론적인 부분을 좀 참고해볼 수 있을 것 같아서 일부만 갖고 와봤다. Monitoring과 Observability란 뭘까? Monitoring은 시스템의 성능에 대한 ..

MLOps 2023.04.01
반응형