쉘 스크립트 프로그래밍 – 2
쉘 스크립트 프로그래밍 2편에서는 사용자 정의 함수를 중심으로, 함수에 파라미터를 넘기는 방법과 eval·export·printf·set·shift 같은 자주 쓰는 명령을 예제로 정리한다. 각 명령마다 실제 스크립트 파일과 실행 결과를 함께 제시하므로, 셸 스크립트의 함수와 변수 처리 흐름을 손으로 따라가며 익힐 수 있다. (1편의 변수·제어문·반복문 기초를 먼저 익힌 뒤 보면 이해가 빠르다.) 사용자 정의 함수 사용자가 직접 함수를 작성하고 […]
쉘 스크립트 프로그래밍 – 1
쉘 스크립트 프로그래밍 1편에서는 셸의 역할부터 변수, 파라미터, 조건문(if·case), 반복문(for·while·until)까지 기초 문법을 예제 중심으로 정리한다. 셸 스크립트는 일반 프로그래밍 언어처럼 변수와 제어문, 반복문을 사용할 수 있어, 반복 작업을 자동화하는 데 매우 유용하다. vi로 간단한 스크립트를 작성하고 실행하는 과정부터 차근차근 따라가 보자. 셸이란 무엇인가 셸은 사용자가 입력한 명령을 해석해 커널로 전달하거나, 커널의 결과를 사용자에게 전달하는 역할을 […]
Ansible 플레이북 yaml(야믈) 실행
Ansible 플레이북(Playbook)은 여러 서버나 장치에 대한 설정, 배포, 관리 작업을 자동화하는 YAML 스크립트다. 이 글에서는 Ansible 플레이북이 무엇인지 개념을 정리하고, 마스터 서버에서 플레이북 yml 파일을 직접 작성해 워커 서버에 NginX를 설치·실행하는 과정을 예제로 다룬다. Ansible 플레이북이란 간단히 말해 플레이북은 Ansible이 어떤 작업을 해야 할지를 정의하는 파일이다. 이 작업들은 YAML 형식으로 작성되며, 각 플레이북은 호스트 그룹이나 […]
Ansible 기본적인 Ad-hoc 명령어들
Ansible 애드혹(Ad-hoc) 명령어는 플레이북을 작성하지 않고도 원격 서버에 즉시 명령을 실행할 수 있는 한 줄짜리 명령이다. 이 글에서는 Ansible Ad-hoc 명령어의 기본 형식부터 ping, shell, yum 등 자주 쓰는 모듈의 사용법과 실행 중 만나기 쉬운 오류 해결 방법까지 예제로 정리한다. Ad-hoc 명령어란 Ansible의 애드혹 명령어는 풀 스크립트나 플레이북을 작성하지 않고, 간단한 명령어로 원격 서버에 대해 […]
Dockerfile로 이미지 빌드하고 레지스트리 생성하기

Dockerfile로 nginx 기반 커스텀 이미지를 빌드하고, 로컬 레지스트리를 만들어 그 이미지를 푸시하는 과정을 정리한다. Dockerfile 작성부터 docker build로 이미지 빌드, 컨테이너 실행, 그리고 로컬 레지스트리 생성과 이미지 태그·푸시까지 한 흐름으로 다룬다. 실습 환경은 윈도우 11 + 도커 데스크톱이다. Dockerfile 작성 먼저 nginx 최신 버전을 기본 이미지로 사용하는 Dockerfile을 작성한다. 이번 실습에서 만들 이미지와 컨테이너 사양은 […]
RHEL 8 리눅스에 도커(Docker) 설치하기

RHEL 8 리눅스에 도커(Docker)를 설치하는 방법을 정리한다. 윈도우에서는 도커 데스크톱을 GUI로 내려받아 설치하지만, 리눅스 서버에서는 CLI 환경에서 레포지토리를 등록하고 패키지를 직접 설치한다. RHEL 8 특유의 함정인 RHEL용 레포지토리 비호환, 그리고 podman·buildah 충돌까지 짚어가며 도커와 Docker Compose 설치를 끝까지 마무리한다. 윈도우에서 도커 데스크톱으로 실습한 내용은 docker-compose로 워드프레스 구축 글에서 다뤘다. 윈도우는 GUI 환경에서 설치 파일을 받아 […]
워드프레스 Divi 테마 텍스트 Hover 효과
워드프레스 Divi 테마에서는 코딩 없이도 텍스트 Hover 효과를 만들 수 있습니다. 마우스를 올리면 가려져 있던 텍스트가 부드럽게 나타나는 효과인데요. 이 글에서는 Divi 테마 텍스트 Hover 효과를 텍스트 모듈과 디자인 설정만으로 단계별로 구현하는 방법을 정리했습니다. Divi 테마란 무엇인가 Divi 테마는 워드프레스에서 코딩 없이 홈페이지를 꾸미고 제작할 수 있는 강력한 도구입니다. 다양한 모듈과 디자인 설정을 제공하기 때문에, […]
쿠버네티스로 WAS-DB 연동 및 3-Tier 완성

쿠버네티스로 WAS(Tomcat)와 DB(MariaDB)를 연동해 WEB-WAS-DB 3-Tier 아키텍처를 완성한다. 앞선 포스팅에서 만든 Tomcat의 Deployment·Service는 그대로 두고, index.jsp를 담은 ConfigMap을 MariaDB 연동 코드로 교체한 뒤 MariaDB 파드를 새로 생성하는 부분을 작성한다. 쿠버네티스에서 Deployment·Service·ConfigMap이 어떻게 맞물려 3-Tier를 이루는지 단계별로 살펴본다. 이번 글은 도커로 구축한 3-Tier를 쿠버네티스로 옮기는 단계다. 도커 컴포즈로 같은 구성을 만드는 방법은 docker-compose로 Tomcat-MariaDB 연동에서 다뤘다. […]
쿠버네티스로 WEB-WAS 연동

쿠버네티스는 메니페스트 파일을 통해 파드를 생성한다. 파드는 NginX와 Tomcat 두 종류를 사용하고, 그 두 종류의 파드를 서비스의 IP(클러스터 IP)를 기반으로 연동하게 될 것이다. 매니페스트 파일 쿠버네티스는 매니페스트(정의 파일)에 기재된 내용에 따라 파드를 생성한다. 매니페스트 파일의 내용을 쿠버네티스에 업로드하면 그 내용이 데이터베이스(etcd)에 ‘바람직한 상태’로 등록되는 것이다. 그리고 그 바람직한 상태로 서버 환경을 유지한다. 디플로이먼트 파드와 레플리카셋(ReplicaSet)에 […]
쿠버네티스 개념과 구성

쿠버네티스(K8S)는 컨테이너 오토스트레이션 도구의 일종이다. 컨테이너 오토스트레이션이란 시스템 전체를 통괄하고 여러 개의 컨테이너를 관리하는 일을 말한다. 여러 개의 컨테이너를 지휘(관리)하는 도구라고 생각하면 쉬울것이다. 쿠버네티스는 여러대의 컨테이너가 여러대의 서버에 걸쳐 실행되는 것을 전제로 한다. 또 서버 한 대마다 제각기 여러 대의 컨테이너를 실행한다. 쿠버네티스는 도커에서의 도커 컴포즈 파일과 비슷한 정의 파일(메니페스트 파일)만 작성하면 이 파일에 기재된 […]