반응형

전체 글 145

Window 환경에서 리액트(React) 설치

리액트(React) 설치먼저 원하는 경로에 폴더를 생성 해줍니다.마우스로 폴더 클릭 후 마우스 오른쪽 버튼을 클릭하여 터미널에서 열기npm create vite 명령어 입력명령어를 실행하면 아래의 이미지와 같이 원하는 것을 선택해서 설치해주면 됩니다.원하는 프로젝트 이름원하는 프레임워크원하는 variant그리고 나서 설치가 정상적으로 완료되면 아래의 이미지 처럼 디렉터리를 옮긴 후 npm install 명령어를 입력해주면 리액트 설치가 완성되게 됩니다. 리액트 설치 중 겪은 오류처음에는 아래의 명령어로 리액트 설치를 진행 했더니npx create-react-app board-front --template typescript아래와 같은 에러 로그가 나오게 되어 인터넷에서 검색을 해보았더니,nstallin..

개발/React 2025.02.13

쿠버네티스 네트워크 이해하기

이번엔 쿠버네티스 네트워크 대해 간략하게 알아보도록 하겠습니다.쿠버네티스 네트워크쿠버네티스의 네트워크 다음과 같은 주요 원칙을 따릅니다. 1-1. 모든 파드는 고유한 IP를 갖는다.각 파드는 자체 네트워크 네임스페이스를 가지며, 하나 이상의 컨테이너가 포함됩니다.파드 내부의 컨테이너는 localhost를 통해 서로 통신 할 수 있습니다.그림에서 보는 것 처럼 하나의 파드안에 여러 개의 컨테이너가 있어도 localhost 환경에서 통신을 한다는 의미 입니다. 1-2. 모든 파드는 동일한 네트워크 공간에서 서로 통신 가능하다.파드들은 NAT(Network Address Translation) 없이 서로 통신이 가능 해야 합니다.이를 위해 쿠버네티스는 CNI(Container Network Interface)..

POD 생성 시 kyverno error 해결

이번엔 제가 쿠버네티스 클러스터를 운영 하던 도중에 겪었던 문제에 대해 적어보겠습니다.오류 내용쿠버네티스 클러스터에서 특정 네임스페이스에서 POD를 생성하는 데, 아래 이미지와 같은 에러가 발생했었습니다. 보면 쿠버네티스 클러스터에서 webhook 호출에 실패해서 POD가 생성이 되질 않는 오류가 있었습니다.해결 방안kyverno-policy-mutating-webhook-cfg에서 특정 네임스페이스에서kyverno-webhook의 영향을 받지 않도록 제외 하도록 해줬습니다. 먼저 Helm 차트를 통해 kyverno 어플리케이션을 설치해준 터라values.yaml 파일의 내용을 수정하고 적용을 시켜줘야 webhook 설정이 변경됩니다.# vi values.yaml-----webhooks: # Exc..

쿠버네티스 2025.01.06

Helm 차트로 설치한 어플리케이션의 values.yaml 내용 확인하기

Helm 차트를 사용하여 설치한 어플리케이션이 사용하고 있는 values.yaml 파일을 추출하는 방법에 대해 알아보겠습니다. 방법은 간단합니다. 먼저 사용하고 있는 helm list를 확인 해줍니다.# helm list 그리고 Helm 차트를 사용해서 설치한 어플리케이션의 이름을 확인하여 아래 명령어에 적어주면 됩니다.# helm show values "Helm list에서 확인한 이름" > values.yamlex)# helm show values kyverno > kyverno-values.yaml 이렇게 하면 Helm 차트로 설치한 어플리케이션이 사용하고 있는 values.yaml 파일을 추출 할 수 있습니다.

쿠버네티스 2025.01.06

PXE-E99: Unexpected network error 해결

PXE Boot를 시도 하던 도중 아래 이미지와 같은 에러가 발생하였습니다. 위와 같은 오류를 해결한 내용을 정리 해보도록 하겠습니다. 원인: tftpd.service 가 정상적으로 동작되고 있지 않음  tftpd.service가 정상적으로 동작되지 않던 이유는,  PXE의 서버의 /run 디렉터리가 Full이 되어서 tftpd 서비스가 정상적으로 동작하지 않았습니다./run 디렉터리는, Linux 시스템에서 임시 파일,디렉터리를 저장하는 디렉터리 입니다. 해결 방법: (PXE 서버에서 할 것) 1. /run 디렉터리의 용량을 정리2. tftpd.socket 데몬 재시작3. tftpd.service 데몬 재시작  위 3가지를 해결하니 정상적으로 PXE Booting이 되었습니다.

Linux 2025.01.02

스테이트풀셋(StatefulSet) 이란 ?

테이트풀셋(StatefulSet) 이란 ?스테이트풀셋(StatefulSet)은 Kubernetes의 워크로드 API 중 하나로,항상 동일한 상태의 애플리케이션을 배포하고 관리하기 위한 리소스 입니다.디플로이먼트(Deployment)와 비슷하게, 동일한 컨테이너의 스펙을 기반으로POD를 관리 합니다.다만, 디플로이먼트(Deployment)는 POD가 재스케줄링 되면, 이전 파드가가지고 있는 내용이 사라지지만,스테이트풀셋(StatefulSet)은 재 스케줄링 되어도 이전의 POD와 동일한 상태를유지합니다.즉, 스테이트풀셋(StatefulSet)은 POD의 고유성(identity)과 순서를 보장하며,데이터베이스, 분산 파일 시스템, 메시지 큐와 같은 상태를 저장해야 하는 애플리케이션을배포할 때 주로 사용됩니다..

Consul 삭제 후에도 webhook 에러 발생

k8s 클러스터에서 Consul 을 설치하고 삭제를 했는 데도, 아래와 같은 에러가 발생해서 무엇이 문제 인가 확인 해본 결과 Error creating: Internal error occurred: failed calling webhook "consul-consul-connect-injector.consul.hashicorp.com": failed to call webhook: Post "https://consul-consul-connect-injector.consul.svc:443/mutate?timeout=10s": service "consul-consul-connect-injector" not found 아래 이미지에서와 같이 Webhook이 삭제가 제대로 되질 않아서 발생하는 문제였습니다. 따라..

쿠버네티스 2024.12.31

Blue - Green 배포 실습 해보기

이번에 해볼 것은 Blue - Green 배포를 직접 해보겠습니다. 사전 준비 사항Github Action 사용법k8s 클러스터 환경Helm 설치 목표Nginx 이미지를 사용해서 Blue - Green 배포 동작 방식을 확인 해보도록 하겠습니다. 이제 실습을 해보도록 하겠습니다.1. ArgoCD, ArgoCD-rollout 설치Helm 차트를 통해 설치를 진행 해보도록 하겠습니다.helm repo add argo https://argoproj.github.io/argo-helmhelm install argocd argo/argo-cd --version 7.7.10helm install argo-rollout argo/argo-rollouts2. Nginx 이미지 커스텀제가 원하는 index 내용을 보여주..

Pipeline 2024.12.20

Github Action 원하는 환경에서 Workflow 작업 해보기

이번에 해볼 것은 원하는 환경에서 Workflow 를 실행 해보도록 하겠습니다. ex) 노트북, 가상 머신 등Self-hosted runner 설정 1. Github 레포지터리 접속 2. Settings -> Actions -> Runners -> New-self-hosted runner 3. 실행 환경의 OS 선택(저는 노트북의 OS가 Window여서 Window로 선택을 하였습니다.)  Download 방법에 나온 명령어를 입력하여 다운로드 해주면 됩니다. 마지막으로 Configure 에 나온 방법 대로 명령어를 실행 해주면 self-hosted 환경 설정이 완료됩니다. 4. YAML 파일에서 실행환경을 self-hosted로 지정 ex)name: Example Workflow on: push:..

Pipeline 2024.12.19

Github Action 이란 ?

Github Action 이란 ?Github에서 제공하는 CI/CD(Continuous Integration/Continuous Deployment) 플랫폼 입니다.Github Action을 사용하여 빌드, 테스트 및 배포 파이프라인을 자동화 할 수있습니다. 바로 실습을 통해 좀 더 자세히 알아보겠습니다.먼저 Github Action의 Workflow를 실행하기 위해서 .github/workflow 라는 디렉터리가 필요합니다. 해당 디렉터리 안에 Workflow를 돌리기 위한 YAML 파일을 정의합니다. 따라서 repository를 생성하고 해당 repository에서 디렉터리를 생성 해줍니다. 폴더 tree는 아래와 같습니다..githubㄴ workflows ㄴ workflow를 정의할 YAML 파..

Pipeline 2024.12.19
반응형