Home

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

[쿠버네티스] kubeconfig 파일

✅ kubeconfig 파일이란?kubeconfig 파일은 쿠버네티스 정보들을 담아놓은 설정 파일(configuration file) 로 kubectl 명령어가 쿠버네티스로 명령어를 보낼때 사용되는 참조 파일입니다. 설정 파일은 일반적으로 홈 폴더내 /.kube 폴더 안에 config 파일로 위치해 있습니다. ✅ config 파일 역할kubeconfig 파일에는 접속을 위한한 클러스터의 API 서버 주소, 클러스터의 인증서 경로, 보안 설정 등의 정보를 갖고 있어 Kubernetes 클라이언트가 올바른 클러스터에 연결할 수 있도록 합니다. 또한, 사용자가 클러스터에 접근 및 인증을 위한 클라이언트 인증서와 개인 키나 인증 토큰등의 정보를 이용해 사용자 인증 및 권한 부여를 수행합니다. 마지막으로 어느 클러스터에 어떤 사용자 접근할지에 대한 정보를 조합해 컨텍스트로 정의 및 관리합니다. ✅ config 파일 주요 구성 요소kubeconfig 파일은 아래와 같은 항목들로 구성돼 있습니다.

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] 이미지 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

[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

쿠버네티스 - 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

쿠버네티스 - 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

[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/