본문 바로가기

system infra9

다른 언어들과 구별되는 Go lang의 특징 ( 핵심: 동시성 관리 ) 이미 여러 언어의 기본기를 갖추고 계신 분에게 "Go 언어 기초" 강의는 시간 낭비일 가능성이 큽니다. 변수 선언, 반복문, 함수를 다시 배우는 것은 의미가 없죠.이 상황은 **'어떤 도구(Go)의 사용법을 하나 더 배울까'**와 **'아예 새로운 분야(Kubernetes)를 개척할까'**의 갈림길입니다.결론부터 말씀드리면, 어떤 개발자가 되고 싶으신지에 따라 선택이 달라집니다.1. 이미 아는 것: 프로그래밍 '개념'사용자님은 이미 여러 언어를 통해 **프로그래밍의 핵심 '개념(Concept)'**을 알고 계십니다.변수, 타입제어문 (if, for, while)함수, 클래스 (OOP)데이터 구조 (배열, 맵/딕셔너리)Go 언어를 배운다는 것은 이 '개념'을 다시 배우는 것이 아니라, Go만의 **독특한 .. 2025. 11. 18.
nas,nfs,ftp,nfp,raid,zfs,xfs 고가용성 분산스토리지 아키텍처 구상 (구글드라이브,s3,ebs,efs 특징과 차이점 등) NFS와 FTP 차이Prompt:그러니까 nfs가 ftp방식을 포괄하는 (사용하는) 상위방식의 구조라는거네 ? 그럼 구글드라이브나 네이버의 n드라이브가 nfs라고 볼수있는건가 아니면 ftp라고 볼수있는건가 ? 그럼 클라이언트앱에서 백엔드 서버의 db에 데이터를 저장하는것은 nfs인가 ftp인가 ? 그리고 formdate같은 http에서의 파일전송은 nfs인가 ftp인가 ? 그럼 nfs의 프로토콜은뭔데 ? 갑자기 ntp가 왜 나온거지? ntp로 시간을 동기화하면 외부와 시간이 달라서 접근하기가 어렵다는얘기야 ? http로 파일을 전송하는방식이 따로있는거고 그게 효율적인방식이 맞나 ? formdata가 json과 다른게 뭔데 ? 왜파일전송이나 이미지전송같은것은 formdata를 사용하지 ? nfs의 프.. 2025. 4. 24.
여러 온프레미스 환경(각각 공인 IP 보유)에서 **단일 논리적 클러스터**로 운영하려는 시나리오 쿠버네티스를 여러 온프레미스 환경(각각 공인 IP 보유)에서 단일 논리적 클러스터로 운영하려는 시나리오입니다. 이는 멀티 클러스터 아키텍처 또는 하이브리드 클러스터 구축과 관련이 있습니다. 체계적으로 설명드리겠습니다.1. 기본 개념: 멀티 클러스터 vs. 단일 클러스터유형설명사용 사례단일 클러스터하나의 컨트롤 플레인으로 모든 노드 관리단일 데이터센터 내 고밀도 워크로드멀티 클러스터여러 독립된 클러스터를 논리적으로 통합지역 분산, 고가용성, 온프레미스+클라우드 혼합2. 목표 달성을 위한 3가지 접근법2.1. 네트워크 통합 (VPN/전용선)구성 방법:WireGuard/OpenVPN으로 사이트 간 프라이빗 네트워크 연결 설정CNI 구성:# Calico CNI 설정 예시 (IP 대역 분리)apiVersion: .. 2025. 4. 6.
리눅스 쉘에서 -c 옵션 리눅스 쉘에서 -c 옵션이 뭐야     리눅스 쉘에서 -c 옵션은 주로 다음과 같은 상황에서 사용됩니다.1. 쉘 명령어를 직접 실행:bash -c "명령어" 또는 sh -c "명령어" 형태로 사용됩니다.이 옵션은 문자열로 주어진 명령어를 쉘에서 직접 실행합니다.스크립트 파일을 만들지 않고 간단한 명령어를 실행할 때 유용합니다.예시: bash -c "ls -l; pwd" (현재 디렉토리의 파일 목록을 자세히 보여주고, 현재 작업 디렉토리를 출력합니다.)2. 쉘 스크립트 실행:sh -c '스크립트 내용' 의 방식으로 스크립트내용을 실행시킬수 있습니다.예시: sh -c 'for i in 1 2 3; do echo $i; done' (1부터 3까지 숫자를 출력하는 간단한 반복문 스크립트를 실행합니다.)c 옵션의.. 2025. 4. 5.
쿠버네티스 오브젝트(추상화된 API) 출처: https://fastcampus.co.kr/실무까지 한 번에 끝내는 DevOps를 위한 Docker & Kubernetes feat. aws EKS 초격차 패키지 Online. 2025. 4. 4.
멀티 컨트롤플레인 멀티클러스터 네트워크 아키텍처 2025. 3. 29.
Docker Permission Denied Error (사용자를 docker 그룹에 추가), restart Docker 권한 거부 오류 해결 방법 영구 솔루션(도커 그룹에 사용자 추가) 매번 sudo를 사용하지 않으려면 사용자를 docker 그룹에 추가하세요: 1. 도커 그룹이 없는 경우 해당 그룹을 만듭니다:bashCopysudo groupadd dockerAdd your user to the docker group:bashCopysudo usermod -aG docker $USERApply the new group membership (either):bashCopynewgrp docker 또는 로그아웃했다가 다시 로그인Verify it works:bashCopydocker ps Docker 컨테이너 시작 시 자동 실행 설정 방법Docker 컨테이너를 컴퓨터 시작 시 자동으로 실행하도록 설정하는 방법은 다음.. 2025. 3. 27.
쿠버네티스에서 calico를 사용하는 이유는 ? Calico는 쿠버네티스에서 네트워크 플러그인으로 사용되는 도구 중 하나입니다. 쿠버네티스 클러스터에서 Calico를 사용하는 이유는 여러 가지가 있지만, 주요한 이유는 고급 네트워크 보안, 확장성, 성능, 그리고 쉽게 관리 가능한 네트워크 기능을 제공하기 때문입니다. 아래에서 Calico를 사용하는 이유를 더 구체적으로 설명드리겠습니다.1. 네트워크 보안 (Network Security)Calico는 **네트워크 정책(Network Policies)**을 구현하는 데 강력한 기능을 제공합니다. Kubernetes에서 네트워크 정책을 사용하여 파드 간 통신을 제어할 수 있습니다. Calico는 이를 기반으로 정교한 보안 제어를 가능하게 하여, 특정 파드나 서비스가 다른 파드와 통신할 수 있도록 허용하거나.. 2025. 3. 20.
mysql 볼륨마운트 워크벤치, 여러 컨테이너 호스트볼륨 공유, 리소스 모니터링 docker run -d --name db --restart=always -v /dbdata:/var/lib/mysql -e MYSQL_USER=admin -e MYSQL_PASSWORD= admin -e TZ=Asia/Seoul -e MYSQL_ROOT_PASSWORD=admin -p 3306:3306 mysql:latest docker exec -it db /bin/bash mysql -u admin -padmin 여러 컨테이너간 볼륨 공유 예제)1씩 증가하는 숫자 5초마다 보여주기 1.df 컨테이너에서 5초마다 index.html 생성 2.마운트된 /webdata/index.html로 덮어쓰기 3.덮어쓴 index.html 파일 web server로 송출 cat > df.sh #!/bin/bash .. 2023. 11. 6.