Home

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

[Docker Compose]

1. Docker Compose란?Docker Compose 는 여러 개의 컨테이너를 한 번에 정의하고 실행할 수 있게 해주는 도구입니다. 일반적으로 실무에서는 웹 서버, 데이터베이스, 캐시 서버 등 다양한 컨테이너가 함께 작동해야 하는 경우가 많은데, 이 모든 것을 일일이 docker run으로 실행하는 건 너무 번거롭습니다. Docker Compose 를 사용하면 docker-compose.yml 파일 하나로 모든 서비스를 정의하고 일괄로 실행시킬 수 있습니다. 2. docker-compose.yaml 살펴보기version: "3.9" # compose 파일 버전services: web: image: nginx ports: - "8080:80" db: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: example 3. Docker Compose 기본 명령어docker-compose.yaml 파일이 정의되면 해당 파일에 정의된 컨테이너 이미지나 환경등을 한번에 실행시켜 적용할 수 있습니다. 실행 docker compose up -d

0

[Docker] 이미지 Build

Docker 이미지 Build 란?Docker Build는 Docker 이미지 를 생성하는 과정을 의미합니다. 이미지 빌드는 Dockerfile 파일을 기반으로 수행되며, 이 파일에는 이미지 생성에 필요한 명령어들이 단계별로 정의되어 있습니다. Dockerfile 살펴보기# Node.js 기반 이미지 사용FROM node:18# 앱 디렉토리 생성WORKDIR /app# package.json 복사 후 의존성 설치COPY package*.json ./RUN npm install# 앱 소스 복사COPY . .# 포트 개방EXPOSE 3000# 앱 실행CMD ["npm", "start"] 이미지 캐시와 레이어Docker Build 는 명령어 하나하나를 레이어로 분리하여 캐시를 사용합니다. 예를 들어 COPY나 RUN 단계에서 변경이 없으면 이전 캐시를 재사용하여 빌드 속도를 높일 수 있습니다. 멀티 스테이지 빌드# Build stageFROM node:18 as builderWORKDIR /appCOPY . .RUN npm install && npm run build# Production stageFROM nginx:alpineCOPY --from=builder /app/dist /usr/share/nginx/html

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 와 효율적으로 통신하고 데이터를 공유할 수 있습니다.

0

[Jenkins] - Helm 을 이용한 Jenkins 설치하기

목차 [Jenkins] - Jenkinsfile 작성하기 [Jenkins] - Gitea 와 연동하기 [Jenkins] - Agent 추가하기 [Jenkins] - Helm 을 이용한 Jenkins 설치하기 참고 Helm Repository https://artifacthub.io/packages/helm/jenkinsci/jenkins 테마 변경 https://jojoldu.tistory.com/343 ✅ value.yaml 준비Jenkins 를 설치하기 앞서 어떤 JDK 버전으로 설치할지, Jenkins 설정을 저장하기 위해서 storage 유형은 어떤걸 사용할지, Jenkins Pod 가 어떤 노드에 뜰지, 현재 한국시간에 맞게 CICD 가 돌아가기 위한 사전 설정이 필요합니다. 1. Jenkins 버전 및 JDK 버전 설정Jenkins Controller 에 어떤 Image 를 사용할지에 대한 설정을 해준다. values-jenkins.yamlcontroller: componentName: "jenkins-controller" image: "jenkins/jenkins" tag: "jdk11" tagLabel: jdk11 imagePullPolicy: "Always"

0

Jenkins - MultiBranch Pipeline

Jenkinsfile MultiBranch Scan Webhook Trigger MultiBranch 에서 Webhook 을 이용한 Build 유발시 사용하는 플러그인 링크 https://plugins.jenkins.io/multibranch-scan-webhook-trigger/

0

Jenkins

공식 홈페이지 https://www.jenkins.io/ Jenkins 란 Jenkins 은 지속적 통합 (Continuous Ingegration) 및 지속적인 배포 (Continuous Deployment) 을 위한 자동화 도구 다. 빌드, 테스트, 배포 프로세스를 자동화 하여 소프트웨어 품질과 생산성을 향상시킬 수 있다. Jenkins는 빌드, 테스트, 배포와 같은 소프트웨어 개발 생명주기의 다양한 단계를 자동화하기 위해 사용됩니다. 개발자들은 Jenkins를 사용하여 코드 변경 사항을 자동으로 빌드하고 테스트하여 문제가 발생하기 전에 빠르게 발견하고 수정할 수 있습니다. 또한 Jenkins를 사용하여 새로운 코드를 배포하기 전에 승인 프로세스를 수행하고, 서버에 자동으로 배포할 수 있습니다. Jenkins는 다양한 플러그인을 지원하여 다양한 언어, 프레임워크, 도구 등을 지원하며, 사용자가 커스텀 플러그인을 만들어 사용할 수도 있습니다. Jenkins는 자유롭게 사용할 수 있는 오픈소스 소프트웨어로, 많은 개발자들이 사용하고 있으며, 대규모 프로젝트에서도 충분히 사용될 수 있는 안정적이고 확장 가능한 도구입니다. 지속적 통합 (Continuous Integration) 이란?