반응형

전체 글 129

Kolla-ansible 사용해서 Openstack 설치 해보기

이 글은 OpenStack을 쉽고 빠르게 설치하기 위한 Kolla Ansible Quickstart 문서를 따라 하기 쉽게 정리한 가이드입니다. ✅ 사전 준비저는 가상 머신으로 진행을 하였습니다. 가상 머신들의 스펙은 아래와 같습니다. OS는 ubuntu 22.04로 해줍니다.이유는 python 3.10 버전과 설치하려는 ansible 버전의 호환이 됩니다. 구분CPUMemDisk`OS갯 수Controller 노드4 Core16 GB300 GBubuntu 22.042 대Compute 노드8 Core32 GB300 GBubuntu 22.043 대Storage 노드4 Core16 GB100 GBubuntu 22.041 대설치 진행Controller-1 노드에서 아래 명령어들을 입력 해줍니다. 우선 패키지 업..

RedHat/Openstack 2025.03.26

React에서 main.jsx와 App.jsx 의 역할 완벽 정리!

📌 React 프로젝트를 처음 시작하면 main.jsx와 App.jsx라는 파일이 기본적으로 생성됩니다. 이 두 파일이 각각 어떤 역할을 하는지, 그리고 React가 실행되는 과정에서 어떻게 동작하는지 쉽게 이해할 수 있도록 설명해보겠습니다.🔹 1. main.jsx와 App.jsx는 왜 필요한가?React에서는 하나의 애플리케이션을 여러 개의 작은 컴포넌트(Component)로 나누어 관리합니다. 그중 main.jsx와 App.jsx는 기본적인 구조를 담당하는 핵심 파일입니다. ✔️ main.jsx → React 애플리케이션을 실행하는 진입점✔️ App.jsx → 실제 화면을 구성하는 메인 컴포넌트 이제 각각의 파일을 자세히 살펴보겠습니다.🔹 2. React의 기본 파일 구조📁 React 프로젝트..

개발/React 2025.03.12

'React' is not defined. 에러 해결

React 책을 보면서 공부를 하던 도중, React.Fragment를 사용하여 여러 요소들을 감싸주었는데, 아래 이미지와 같은 에러가 나오면서 정상적으로 동작이 되지 않았습니다. 그래서 인터넷에서 찾아보니 맨 윗단에 React를 import 해주어야 합니다. 따라서 아래와 같이 맨 위에 React를 import 해주면 정상적으로 동작을 하게 됩니다.import React from 'react'function App() { return ( Hello World This is my first React component );}export default App   이상 입니다.

개발/React 2025.03.11

Swagger 500 오류 해결 방법

상황 정리스프링부트로 RESTful 웹 서비스를 만들고, OpenAPI 3를 이용하여 API를 문서화 하는작업을 하던 도중에 아래 이미지 처럼 500 에러가 나왔습니다. 오류 해결build.gradle 파일의 dependencies에 implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.0.2' 해당 의존성을 추가하고, 아래의 OpenApiConfig 클래스를 생성한 후,package com.packt.cardatabase;import org.springframework.context.annotation.Bean;import org.springframework.context.annotat..

개발/Spring boot 2025.02.20

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)과 순서를 보장하며,데이터베이스, 분산 파일 시스템, 메시지 큐와 같은 상태를 저장해야 하는 애플리케이션을배포할 때 주로 사용됩니다..

반응형