클라우드/Kubernetes(쿠버네티스)

    [kubernetes] kubernetes의 update 종류와 동작 방법 (apply, edit, patch, replace)

    0. 선언형(Declarative) 접근법 vs 명령형(Imperative) 접근법 0.1. 선언형 접근법 선언형 접근법은, 원하는 상태 그 자체를 선언하는 방식이다. 쿠버네티스에서는 YAML 파일을 통해 원하는 구성 요소의 원하는 상태를 기술한 뒤, kubectl apply -f 형태의 명령어로 이를 적용하는 방식이 해당된다. 이렇게 선언된 상태를 실제로 적용하기 위해 필요한 작업은 쿠버네티스 시스템이 알아서 판단하고 수행한다. 이 접근법은 결국 "요구되는 환경이 무엇인가(what)"에 초점을 둔다. apiVersion: v1 kind: Pod metadata: name: nginx labels: app: nginx spec: containers: - name: nginx-container image:..

    [kubernetes] pod lifecycle

    (공식문서) https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ Pod Lifecycle This page describes the lifecycle of a Pod. Pods follow a defined lifecycle, starting in the Pending phase, moving through Running if at least one of its primary containers starts OK, and then through either the Succeeded or Failed phases depending on whet kubernetes.io (한국어 버전) https://kubernetes.io/ko/docs/c..

    [kubernetes] kube-proxy

    kube-proxy는 클러스터의 각 노드에서 실행되는 네트워크 프록시로 쿠버네티스 서비스 개념의 일부를 구현한다. kube-proxy는 노드에서 네트워크 규칙을 유지한다. 이러한 네트워크 규칙은 클러스터 내부 또는 외부의 네트워크 세션에서 파드로의 네트워크 통신을 허용한다. 운영체제 패킷 필터링 계층이 사용 가능한 경우 kube-proxy는 이를 사용하지만, 그렇지 않으면 kube-proxy가 트래픽 자체를 전달한다. IPVS - IP Virtual Server kube-proxy가 네트워크를 관리하는 방법은 userspace, iptables, ipvs 3가지가 있다. 초기에는 userspace가 기본 모드였고 현재는 iptables가 기본 모드이다. 그리고 iptables에서 ipvs 모드로 넘어가려..

    [kubernetes] Kubernetes Networking Model

    해당 내용은 아래 포스팅 내용을 번역한 것입니다. https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/ A Guide to the Kubernetes Networking Model Kubernetes was built to run distributed systems over a cluster of machines. The very nature of distributed systems makes networking a central and necessary component of Kubernetes deployment, and understanding the Kubernetes networking model wil..

    [kubernetes] mac m1 kubernetes 구축

    1. vm 생성 (UTM 사용) m1의 경우 vmware, virturebox등을 m1에서 사용하기 힘들기 때문에 UTM이라는 가상 머신을 사용하였다. ubuntu-server만 깔았을 경우 왜인진 모르겠지만 clipboard copy가 되지 않아 ubuntu-desktop도 같이 깔아주니 clipboard copy가 되었다! master 3대와 worker1대로 구성하였다. (이유는 없고 master를 여러대 띄워보고 싶어서) 2. hostname 설정 각 노드마다 hostname을 다르게 설정해주어야 한다. # vi /etc/hosts 192.168.100.10 master1 192.168.100.11 master2 192.168.100.12 master3 192.168.100.13 worker1 #..

    kanico 란

    kanico를 사용하여 Dockerfile을 빌드하고 푸시할 수 있다. Dockerfile을 빌드할 때 보통 Dockere데몬에 의해 빌드되지만, 이를 실행하려면 시스템에 대한 루트 엑세스가 필요하다. 권한있는 루트 엑세스 없이도 Dockerfile에서 컨테이너를 빌드하기 위한 오픈소스 도구가 kanico 이다. 참고 : https://cloud.google.com/blog/products/containers-kubernetes/introducing-kaniko-build-container-images-in-kubernetes-and-google-container-builder-even-without-root-access Introducing kaniko: Build container images in ..

    [kubernetes] 쿠버네티스 아키텍처

    쿠버네티스 클러스터의 전체 구조 쿠버네티스 클러스터는 크게 두 종류의 서버로 구성한다. 1. 클러스터를 관리하는 마스터 etcd, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy, docker 등의 컨테이너가 실행된다. 2. 실제 컨테이너를 실행시키는 노드 kubelet, kube-proxy, docker 마스터는 보통 고가용성을 만족하고자 서버 3대 정도 구성해서 운영한다. 평소 실제 클러스터를 관리하는 마스터는 1대고 나머지 2대는 대기한다. 리더 마스터에 장애가 발생하면 자연스럽게 나머지 2대 중 1대가 리더 역할을 맡는다. 실제 사용하는 컨테이너 대부분은 노드에서 실행된다. 각 컴포넌트의 중심에 kube-ap..

    [kubernetes] IPv4/IPv6 이중 스택

    https://kubernetes.io/ko/docs/concepts/services-networking/dual-stack/ IPv4/IPv6 이중 스택 FEATURE STATE: Kubernetes v1.21 [beta] IPv4/IPv6 이중 스택 네트워킹을 사용하면 파드와 서비스에 IPv4와 IPv6 주소를 모두 할당할 수 있다. IPv4/IPv6 이중 스택 네트워킹은 1.21부터 쿠버네티스 클러스터에 기본 kubernetes.io IPv4/IPv6란? IPv4 IPv4는 Internet protocol version 4의 약자이며 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이자 유일한 프로토콜로, IETF(인터넷 표준화 기구)RFC 791에 문서화 되어 있다. IPv4는 32비트 방식이다. 따..