Home

0

쿠버네티스 - DaemonSet

목차 Post not found: k8s/namespace Post not found: k8s/ingress 쿠버네티스 - Deployment Post not found: k8s/pod/replicaset 쿠버네티스 - Pod DaemonSet쿠버네티스( Kubernetes)에서 DaemonSet은 클러스터 내의 모든 노드에 특정 파드(Pod) 인스턴스를 배포하는 컨트롤러입니다. DaemonSet은 각 노드에서 반드시 실행되어야 하는 백그라운드 작업이나 로그 수집기와 같은 애플리케이션에 이상적입니다. 일반적인 ReplicaSet이나 Deployment와는 달리 DaemonSet은 모든 노드에서 파드를 실행하며, 새로운 노드가 클러스터에 추가되면 자동으로 해당 노드에 파드 인스턴스를 스케줄링합니다. 또한, 노드가 제거되면 DaemonSet은 해당 노드에서 실행 중인 파드를 자동으로 종료하고 대체 노드에서 실행될 새로운 파드 인스턴스를 생성합니다. DaemonSet은 주로 다음과 같은 사용 사례에 적합합니다: 로그 수집기: 모든 노드에서 로그를 수집하기 위해 DaemonSet을 사용할 수 있습니다. 예를 들어, Fluentd, Filebeat 등의 로그 수집기를 DaemonSet으로 배포하여 모든 노드의 로그를 중앙 집중화된 위치로 전송할 수 있습니다. 네트워크 에이전트: 네트워크 에이전트는 모든 노드에서 실행되어 네트워크 정책을 구현하고 트래픽을 관리합니다. DaemonSet을 사용하여 네트워크 에이전트를 클러스터의 모든 노드에 배포할 수 있습니다. 모니터링 및 메트릭 수집기: 클러스터의 모든 노드에서 메트릭 및 모니터링 정보를 수집하기 위해 DaemonSet을 사용할 수 있습니다. Prometheus, Telegraf 등의 도구를 DaemonSet으로 배포하여 모든 노드의 메트릭을 수집하고 모니터링할 수 있습니다. DaemonSet을 사용하면 쿠버네티스 클러스터의 모든 노드에서 실행되어야 하는 작업을 쉽게 배포하고 관리할 수 있습니다.

0

쿠버네티스 - ReplicaSet

목차 Post not found: k8s/namespace Post not found: k8s/ingress 쿠버네티스 - Deployment Post not found: k8s/pod/replicaset 쿠버네티스 - Pod 참고 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors ReplicaSet 쿠버네티스에서 실행되는 Pod 의 Replica(복제본) 를 생성하고 지정된 Pod 수를 유지하는 오브젝트 ReplicaSet 은 파드의 개수를 모니터링하고, 파드의 개수가 지정된 개수보다 적으면 새로운 파드를 생성하고, 파드의 개수가 지정된 개수보다 많으면 기존의 파드를 삭제합니다. ReplicaSet은 특정 파드의 복제본 수를 지정하는 것을 목표로 합니다. 파드를 정의하는 템플릿과 함께 ReplicaSet을 생성하면 ReplicaSet은 해당 템플릿을 기반으로 복제본 파드를 생성합니다. 만약 파드의 복제본 수가 ReplicaSet의 목표값보다 적다면, ReplicaSet은 추가 파드를 생성하여 원하는 복제본 수를 유지하려고 시도합니다. 반대로, 파드의 복제본 수가 ReplicaSet의 목표값보다 많다면, ReplicaSet은 파드를 제거하여 원하는 복제본 수를 줄이려고 시도합니다. ReplicaSet은 파드의 복제본 수를 모니터링하며, 다양한 상황에서 자동으로 조치를 취합니다. 예를 들어, ReplicaSet이 파드의 수를 감지하고 즉시 새로운 복제본을 생성하여 장애가 발생한 파드를 대체할 수 있습니다. ReplicaSet은 롤링 업데이트(rolling update)를 통해 애플리케이션 버전 업그레이드도 관리할 수 있습니다. 이는 예전 버전의 파드를 점진적으로 제거하고 새 버전의 파드를 생성하여 서비스 중단을 최소화합니다.

0

Helm 을 이용한 Jenkins 설치 - 02. Agent 추가

목차 Helm 을 이용한 Jenkins 설치 - 04. Jenkinsfile 작성 Helm 을 이용한 Jenkins 설치 - 03. Gitea 와 연동하기 Helm 을 이용한 Jenkins 설치 - 02. Agent 추가 Helm 을 이용한 Jenkins 설치 - 01. 설치 참고 https://artifacthub.io/packages/helm/jenkinsci/jenkins https://code00.tistory.com/123 https://hub.docker.com/r/jenkins/inbound-agent https://github.com/jforge/docker-jenkins-inbound-agent Agent 추가additionalAgents: maven: podName: maven customJenkinsLabels: maven image: jenkins/jnlp-agent-maven tag: jdk11 node: podName: node customJenkinsLabels: maven image: jenkins/jnlp-agent-node tag: latest

0

GitOps

GitOps 란?GitOps는 클라우드 네이티브 애플리케이션 배포 및 인프라 관리를위한 방법론 중 하나입니다. 이 방법론은 Git을 단일 소스 진실로 사용하여 인프라 구성 및 애플리케이션 배포를 관리하는 접근 방식입니다. GitOps에서는 모든 인프라 구성 및 애플리케이션 코드가 Git 저장소에 저장됩니다. 이 저장소의 코드는 인프라 및 애플리케이션 배포를 자동화하는 CI / CD 파이프 라인에 의해 자동으로 관리됩니다. GitOps는 인프라 및 애플리케이션 배포를 추적하고, 문제가 발생하면 신속하게 대응 할 수 있습니다. 이는 모든 인프라 구성 및 애플리케이션 코드가 변경 사항을 기록하는 Git 저장소에 저장되기 때문입니다. GitOps에서는 이 변경 사항을 자동으로 감지하고 배포 프로세스를 트리거하므로, 개발자는 프로덕션 인프라 및 애플리케이션 상태를 항상 파악할 수 있습니다. 또한 GitOps는 코드 리뷰 및 승인 프로세스를 통해 변경 사항의 품질을 향상시킬 수 있습니다. 이를 통해 변경 사항이 배포되기 전에 인프라 및 애플리케이션 코드가 검토 및 승인되므로 배포 오류 및 문제를 방지할 수 있습니다. GitOps는 클라우드 네이티브 환경에서 애플리케이션 및 인프라 배포를 단순화하고 자동화하는 강력한 방법론입니다.

0

Docker

Container 란?컨테이너는 어플리케이션을 실행하기 위해 필요한 모든 요소가 포함된 소프트웨어 패키지를 의미합니다.Container 화된 어플리케이션은 실행시 별 독립된(격리된) 실행환경에서 실행됩니다. Docker 란? Docker 는 컨테이너 기반 가상화 플랫폼으로, 어플리케이션을 패키징하고 배포하는데 사용됩니다. 도커(Docker)는 컨테이너 기반 가상화 플랫폼으로, 어플리케이션을 패키징하고 배포하는 데 사용됩니다. 도커는 소프트웨어를 컨테이너로 묶어서 실행할 수 있게 해주며, 이 컨테이너는 호스트 시스템과 격리되어 있어 응용 프로그램의 이식성과 확장성을 높이는 데 도움이 됩니다.

0

쿠버네티스 - Code 로 Config 수정하기

목차 Post not found: k8s/namespace Post not found: k8s/ingress Post not found: k8s/deployment Post not found: k8s/replicaset Post not found: k8s/node Post not found: k8s/pod 참고 https://gist.github.com/mordr/3c2df494c690672247c720f66f0fb613 환경 변수 추가export KUBE_EDITOR='code --wait'

0

쿠버네티스 - kubectl

목차 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod 쿠버네티스 - Data Plane 쿠버네티스 - Control Plane Post not found: k8s/k8s 참고 https://kubebyexample.com/learning-paths/application-development-kubernetes/lesson-1-running-containerized-applications Kubectl 명령어조회kubectl get pod kubectl get pod -w kubectl get pod -o wide

0

쿠버네티스 - kube-proxy

목차 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod 쿠버네티스 - Data Plane 쿠버네티스 - Control Plane 쿠버네티스 kube-proxy

0

쿠버네티스 - Node

목차 쿠버네티스 - Namespace 쿠버네티스 - Ingress Post not found: k8s/deployment/deployment Post not found: k8s/replicaset/replicaset 쿠버네티스 - Node 쿠버네티스 - Pod Post not found: k8s/k8s Master NodeNode 란 Node 는 쿠버네티스에서 Worker 머신 을 말하며 클러스터에 따라 가상 또는 물리 머신일 수 있다. Container 화 된 어플리케이션을 실행하고 관리하는 역할 Node 는 호스트 운영체제와 함께 실행되며 CPU, Memory, Disk, Network 와 같은 하드웨어 리소스를 제공한다. Node 확인kubectl get nodes Node 내의 Pod 확인

0

쿠버네티스 - Pod

목차 Post not found: k8s/namespace Post not found: k8s/ingress 쿠버네티스 - Deployment Post not found: k8s/pod/replicaset 쿠버네티스 - Pod 참고 https://blog.2dal.com/2018/03/28/kubernetes-01-pod/ https://blog.heptio.com/core-kubernetes-jazz-improv-over-orchestration-a7903ea92ca 출처해당 포스트는 subicura 강사님의 초보를 위한 쿠버네티스 안내서 강의를 바탕으로 작성 됐습니다. Pod Pod 는 쿠버네티스에서 관리하는 기본단위 이며 가장 작은 배포 단위 쿠버네티스는 Pod 을 이용해 Container 를 관리 하며 Pod 내의 Container 는 모두 동일한 Host 에서 실행되며 네트워크와 저장소를 공유합니다. 이로 인해 컨테이너는 같은 Pod 내에서 다른 Container 와 효율적으로 통신하고 데이터를 공유할 수 있습니다.