전체 글 289

[Kubernetes] K8S에서 MetalLB 설치하기

MetalLB는 Kubernetes 클러스터에서 외부 서비스에 대한 로드 밸런싱(Load Balancing)을 제공하는 오픈 소스 프로젝트입니다. 일반적으로, 로드 밸런서는 클러스터 내부의 서비스나 Pod에 대한 외부 접속을 분산시키는 역할을 합니다. MetalLB는 특히 On-Premises 환경이나 Bare Metal 환경에서 사용하기 용이하도록 설계되었습니다. 다음은 MetalLB의 주요 특징과 구성 요소에 대한 설명입니다: 주요 특징: BGP 프로토콜 사용: MetalLB는 기본적으로 BGP (Border Gateway Protocol) 프로토콜을 사용하여 외부 라우터와 통신합니다. 이를 통해 외부 IP 주소를 클러스터 내부 서비스에 동적으로 할당할 수 있습니다. Layer 2 및 Layer 3 ..

Kubernetes 2023.12.18

[Docker] Goaccess 로 nginx 로그 분석 및 시각화

GoAccess는 웹 로그를 실시간으로 분석하고 시각화하는 데 사용되는 오픈 소스의 웹 로그 분석 도구입니다. 다양한 웹 서버 로그 형식을 지원하며, 터미널 또는 웹 브라우저에서 사용할 수 있습니다. 주로 Apache, Nginx, Amazon S3, Elastic Load Balancing 로그 등을 지원합니다. GoAccess의 주요 특징과 사용법은 다음과 같습니다: 실시간 분석: GoAccess는 로그가 생성되는 즉시 실시간으로 웹 트래픽을 분석합니다. 다양한 로그 형식 지원: Apache, Nginx, Amazon S3, Elastic Load Balancing 로그 등 다양한 로그 형식을 지원합니다. 터미널 및 웹 인터페이스: GoAccess는 터미널 또는 웹 브라우저를 통해 사용할 수 있습니다..

Docker 2023.12.15

[WEB] HTTP Header에 사용되는 모든 옵션

1. Request Header Header 속성예시 값설명 Accept text/html, application/xhtml+xml 클라이언트가 지원하는 미디어 타입 목록 Accept-Encoding gzip, deflate 서버에서 지원하는 콘텐츠 인코딩 목록 Cache-Control no-cache, max-age=3600 캐시 동작 제어 지시사항 Content-Type application/json; charset=utf-8 본문의 미디어 타입 및 문자 인코딩 Cookie user_token=abcd123; session=xyz456 서버로부터 전송된 쿠키 정보 Host www.example.com 요청된 리소스의 호스트 이름 또는 IP 주소 User-Agent Mozilla/5.0 (Windows..

WEB,WAS 2023.12.14

[Network] OS별 Ethernet Lan 카드 브랜드 조회 명령어

각 운영 체제별로 LAN 카드 브랜드를 조회하는 명령어는 조금씩 다를 수 있습니다. 아래는 주요 운영 체제별로 해당 정보를 얻을 수 있는 명령어입니다. Linux # lspci 명령어 사용 lspci | grep Ethernet # lshw 명령어 사용 lshw -c network # ifconfig나 ip 명령어로 네트워크 인터페이스 확인: ifconfig # 또는 ip addr Windows ipconfig Mac networksetup -listallhardwareports

Network 2023.12.13

[Kubernetes] Kubespray 로 K8S Cluster 구성하기

Kubespray는 Kubernetes 클러스터를 배포하고 관리하기 위한 오픈 소스 도구입니다. 이는 Ansible을 기반으로 하며, 여러 대의 머신에 걸쳐 Kubernetes를 설치하고 구성하는 프로세스를 자동화하는 데 사용됩니다. Kubespray를 사용하면 간편하게 다양한 환경에서 Kubernetes 클러스터를 설정할 수 있습니다. 다음은 Kubespray의 주요 특징 및 사용 방법에 대한 간단한 설명입니다: Ansible 기반: Kubespray는 Ansible 플레이북을 사용하여 Kubernetes를 설치하고 구성합니다. Ansible은 간단하면서도 강력한 오픈 소스 자동화 도구로, YAML을 사용하여 간단한 구성 파일을 작성하여 인프라스트럭처를 정의할 수 있습니다. 다양한 인프라스트럭처 지원:..

Kubernetes 2023.12.12

[Ubuntu] netplan 을 이용한 IP 변경

Netplan은 Ubuntu에서 네트워크 구성을 관리하는 도구입니다. 네트워크 구성을 변경하려면 Netplan 설정 파일을 수정해야 합니다. 일반적으로 Netplan 설정 파일은 YAML 형식으로 작성되며, 주로 /etc/netplan/ 디렉토리에 있습니다. 아래는 Netplan을 사용하여 Ubuntu에서 IP 주소를 변경하고 적용하는 예제입니다. 설정 파일을 열어서 주석과 함께 설명을 추가하였습니다. 본 예제에서는 이더넷 인터페이스(enp0s3)의 IP 주소를 변경하는 것으로 가정하겠습니다. 실제로 사용 중인 네트워크 인터페이스에 따라 변경해야 합니다. 1. 터미널을 열고 Netplan 설정 파일을 편집합니다. vi /etc/netplan/01-network-manager-all.yaml 2. 아래와 ..

Linux 2023.12.11

[JAVA] ant build 작성 방법 다양한 예제

Ant는 자바 기반 프로젝트를 빌드하고 관리하기 위한 자동화 도구입니다. Apache Ant는 XML 기반의 빌드 스크립트를 사용하여 프로젝트의 컴파일, 테스트, 패키징 등과 같은 작업을 수행할 수 있습니다. 이러한 빌드 작업은 사용자가 정의한 빌드 파일에 명시되며, 각 작업은 목적에 따라 태스크로 구성됩니다. 핵심 개념: 빌드 파일 (Build File): Ant로 작성된 빌드는 XML 파일입니다. 일반적으로 build.xml이라는 이름을 가지며, 프로젝트의 빌드 프로세스를 정의합니다. 프로젝트 (Project): 빌드 파일에 정의된 모든 작업들은 하나의 프로젝트로 묶입니다. 프로젝트는 빌드의 최상위 요소로 간주되며, 모든 작업은 이를 기준으로 실행됩니다. 태스크 (Task): Ant 빌드 파일에서 각..

Spring 2023.12.08

[Linux] bashrc, bash_profile, profile 비교표

먼저, .bashrc, .bash_profile, .profile, 그리고 .profile 파일에 대한 개요를 제공하고, 이들 간의 차이를 비교표로 정리하겠습니다. .bashrc: 목적: 대화형 셸 세션에서 실행되는 명령어와 환경 변수를 설정합니다. 파일 위치: 사용자의 홈 디렉토리 (~/.bashrc). 사용 예시: 프롬프트 스타일, 색상, 사용자 정의 함수 등을 정의하는 데 사용됩니다. .bash_profile: 목적: 로그인 셸 세션에서 실행되는 명령어와 환경 변수를 설정합니다. 로그인 시에 한 번만 실행됩니다. 파일 위치: 사용자의 홈 디렉토리 (~/.bash_profile)에 있거나, ~/.bash_login 또는 ~/.profile 파일이 없을 경우 ~/.bash_profile이 사용될 수 있..

Linux 2023.12.07

[Linux] ulimit 에 대한 다양한 옵션과 설명

ulimit은 리눅스 및 유닉스 시스템에서 프로세스에 대한 리소스 제한을 설정하는 명령어입니다. 이를 통해 시스템 관리자는 각 사용자 또는 프로세스에 대해 할당된 자원을 제어할 수 있습니다. ulimit은 사용자 레벨 및 시스템 레벨의 리소스 제한을 관리합니다. 리눅스에서는 ulimit 명령어를 사용하여 현재 쉘 세션 또는 서브쉘에서 프로세스에 대한 리소스 제한을 설정할 수 있습니다. 여기에는 파일 디스크립터의 최대 개수, 코어 덤프 크기, 프로세스 가용 메모리 등이 포함됩니다. ulimit은 사용자 레벨과 시스템 레벨에서 설정할 수 있으며, 각각 soft limit과 hard limit으로 구성됩니다. soft limit은 사용자가 설정한 제한을 나타내며, hard limit은 soft limit의 최..

Linux 2023.12.06

[Git] git diff --diff-filter 사용 방법

git diff에서 --diff-filter 옵션은 특정 변경 유형에 대한 필터를 제공합니다. 이 옵션은 파일의 추가(A), 복사(C), 삭제(D), 수정(M), 이름 변경(R), 유사성(모드 변경)(T), 그리고 파일 유형 변경(X)과 같은 다양한 변경 사항을 제한하고 필터링할 수 있습니다. 다음은 --diff-filter 옵션에 사용 가능한 각 변경 유형과 해당 의미를 보여주는 표입니다: 코드 변경 유형 의미 A Added 파일이 추가됨 C Copied 파일이 복사됨 D Deleted 파일이 삭제됨 M Modified 파일이 수정됨 R Renamed 파일이 이름이 변경됨 T Type changed 파일의 유형이 변경됨 U Unmerged 병합 중 충돌이 발생함 X Unknown 변경 유형을 인식할 수..

CI-CD 2023.12.05