지니데비 기록 자세히보기
반응형

데브옵스/Orchestration 72

[Kubernetes] 61. CNI, Networking cluster nodes

가상 네트워크 구성 절차1. 네트워크 네임스페이스 생성2. 브릿지 네트워크/인터페이스 생성3. vEth(가상 이더넷) 쌍 생성(pipe, virtual cable)4. vEth를 네임스페이스에 연결5. 다른 vEth를 브릿지에 연결6. IP 주소 할당7. 네트워크 인터페이스 상태 확인8. NAT 활성화 - IP masquerade bridge add [cid] [namespace]  CNI(Container Network Interface): rkt, MESS, kubernetes, weaveworks, flannel, cilium, nsx (docker는 CNI가 아니라 CNM임)BRIDGEVLANIPVLANMACVLANWINDOWSDHCPhost-localdocker run --network=cni-..

[Kubernetes] 60. Docker Networking Basic

# docker 네트워크 타입 - 완전 격리docker run --network none nginx# docker 네트워크 타입 - 호스트에 연결docker run --network host nginx (curl http://192.168.1.10:80)# docker 네트워크 타입 - 브릿지 (사설 네트워크: 내부 개인 네트워크 - 호스트에서만 접근 가능)docker run nginx (curl http://172.17.0.3:80)docker network ls (도커에서는 bridge라고 표시됨)ip link (호스트에선 docker0라고 표시됨)ip link add docker0 type bridgeip addr (inet: 172.17.0.1/24)ip netns(namespace명)ip ins..

[Kubernetes] 58. Linux Networking Basic (1)

Switch & Router각기 다른 PC는 switch를 통해 연결되고 이 로컬 네트워크를 LAN이라고 한다. (switch에 할당된 IP가 Gateway 역할을 한다. 이를 공인IP라고도 한다.) 다른 네트워크에 있는 PC가 통신하기 위해 필요한 것이 router이다. 각각 다른 네트워크의 switch(A LAN과 B LAN)를 router가 연결하며, 라우팅 테이블에 출발지와 도착지가 등록되어 있어야 통신이 가능하다. 통신이 가능한 네트워크는 WAN이다.# network interface 명칭ip link# ip 주소 할당ip addr add 192.168.1.10/24[목적지 cidr(네트워크 대역)] dev eth0[network interface 명칭]# 시스템 재부팅 시에도 설정 유지vi /..

[Kubernetes] 57. Storage Class

Provisioning VolumeCSP 사용 시, PV에 정의한 CSP 전용 볼륨을 명시하는 경우, 클라우드에 수동으로 해당 볼륨을 만들어야 한다. 이를 프로비저닝 볼륨이라고 한다. 이를 동적으로 자동 설정하기 위한 것이 Storage Class이다. apiVersion: storage.k8s.io/v1kind: StorageClassmetadata: name: low-latency annotations: storageclass.kubernetes.io/is-default-class: "false"provisioner: csi-driver.example-vendor.examplereclaimPolicy: Retain # default value is DeleteallowVolumeExpansi..

[Kubernetes] 56. Volumes, Persistent Volumes, Persistent Volume Claims

Volumes 설정# EBS PersistentVolume 정의apiVersion: v1kind: PersistentVolumemetadata: name: aws-ebs-pvspec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: aws-ebs awsElasticBlockStore: volumeID: vol-0a12345b678cde901 # 여기에 실제 EBS 볼륨 ID 입력 fsType: ext4---# PersistentVolumeClaim 정의apiVersion: v1kind:..

[Kubernetes] 55. Container Storage Interface (CSI)

쿠버네티스는 과거에 컨테이너 런타임 엔진으로 도커를 사용했고, 도커와 관련된 실행 코드들이 쿠버네티스에 내장되어 있었다. 그러나 표준 컨테이너 런타임 인터페이스 프로토콜을 정의하여 실행 의존성을 없애고 표준에 맞는 다양한 컨테이너 런타임들이 등장했다. (rkt, cri-o 등) 참고CNI (Container Network Interface): weaveworks, flannel, ciliumCSI (Container Storage Interface): portworx, Amazon EBS, DELL EMC, GlusterFS RPC?

[Kubernetes] 53. Docker Volume - Storage Drivers

docker storage는 storage drivers(저장소 드라이버)와 volume drivers(볼륨 드라이버)가 있다. 플러그인은 무엇인가? docker는 /var/lib/docker 경로에 설치된다. 하위에 aufs, containers, image, volumes 폴더가 있다. Image layer(docker build)docker로 빌드할 때 dockerfile에 명시된 순서대로 레이어가 쌓인다. 다른 이미지를 빌드할 때도 마찬가지이다. 레이어가 겹겹이 쌓이는데 이전에 빌드했던 이미지와 중복되는 사항은 캐시에서 불러와서 사용하기 때문에 더 빠르다. 새로 변경된 사항만 레이어로 쌓인다. 이미지가 빌드되면 이미 빌드된 각각의 레이어는 수정할 수 없고 읽기만 가능하므로, 수정이 필요할 경우 새..

[Kubernetes] 52. Context/Namespace 빠르게 전환 - Kubectx, Kubens

kubectx와 kubens는 Kubernetes 클러스터에서 여러 컨텍스트나 네임스페이스를 빠르게 전환할 수 있게 도와주는 유용한 CLI 유틸리티야. Kubernetes 클러스터를 운영하는 환경에서 컨텍스트와 네임스페이스를 자주 변경해야 할 때, kubectl 명령어만 사용하는 것은 번거로울 수 있어. 이런 상황에서 kubectx와 kubens가 도움이 돼.  Kubectxkubectx는 여러 클러스터 간 컨텍스트 전환을 빠르고 쉽게 할 수 있도록 도와주는 툴이야.## 설치sudo git clone https://github.com/ahmetb/kubectx /opt/kubectxsudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx## 모든 컨텍스트 목록 조..

반응형