본문 바로가기

분류

(1204)
Postgresql Database와 테이블 생성하기 # Postgresql의 Database와 테이블 생성하기 1. SQL Shell에 접근한다. - 윈도우 찾기에서 아래와 같은 아이콘을 검색한다. 2. cmd 화면에서 DB로 접근을 시도한다. 3. DB 생성 및 테이블 생성 # 아래 명령어를 실행하여 데이터 베이스를 생성한다. create database testdb; # 생성한 데이터 베이스로 이동한다. \c testdb # 아래의 명령어를 활용하여 테이블을 생성한다. create table test (id integer primary key, name varchar(20), location varchar(20), age varchar(20), information varchar(20)); 4. pg admin을 활용하여 위에서 생성한 데이터베이스와 ..
로컬 리눅스 OS 에서 AWS EC2로 SSH 접근하기 # 로컬 환경의 리눅스 OS에서 AWS EC2 인스턴스로 접근하기 - EC2는 PEM 키라는 접속 키를 제공한다. 그렇기 때문에 PEM 키를 이용하여 다른 환경에서 접근이 가능하다. PEM (Privacy Enhanced Mail)이란? Base64 로 인코딩한 텍스트 형식의 파일이다. 1. test용 인스턴스를 생성 ec2 생성 시 중간에 pem키를 저장하는 항목이 있는데 경로 설정에 유의해야한다. 해당 pem 파일이 존재하는 경로에서 ssh 접속을 시도해야 한다. 2. wsl로 OS에 접속한다. wsl에 현재 경로를 확인하는 가장 편한 방법은 아래의 명령어를 입력하는 것이다. explorer.exe . 아래와 같이 현재 접속한 wsl 폴더를 확인 할 수 있다. 해당 폴더로 pem 파일을 복사하여 붙여..
Jenkins(Localhost) to ec2 배포하기 # Jenkins(Localhost)에서 ec2로 배포하기 AWS 내부 서비스인 Code 시리즈가 존재 한다. 그리고 해당 서비스로 배포를 설정해 놓으면 간단하게 파이프라인을 구성할 수있다. 하지만 해당 서비스를 이용하면 비용이 발생하고, 로컬 환경에서 ec2를 이용해 테스트 환경을 구축할때 굳이 AWS 자원을 소모하면서 까지 테스트 환경을 구축할 필요가 없을때는 Local에 jenkins를 설치 후 ec2에 바로 배포하여 테스트를 하는 방법이 있다. 해당 방법을 알아보자. 1. 일단 플러그인 설치가 필요하다. Jenkins에서 빌드한 결과물이 war나 jar 파일로 떨어질것이고 해당 결과물을 ssh를 이용해 ec2로 전송해 줘야 한다. 전송 하기 위해서는 Publish Over SSH 플러그인이 필요하..
10. Minikube를 활용한 k8s 환경 구축하기 # Minikube를 활용한 k8s 환 경 구축하기 (WSL을 기준으로 한다.) 1. Minikube 설치 - 도커 설치 (root 권한으로 실행) # ubuntu upgrade sudo apt-get update # docker install sudo apt install docker.io -y - 도커 권한을 수정한다. 예를 들어 생성한 user명이 newuser일 경우 아래의 변수 $USER에 newuser를 넣어주면 된다. sudo usermod -aG docker $USER && newgrp docker # 실행 명령어 sudo usermod -aG docker seungkim && newgrp docker - 도커 설치 확인 docker ps -a 2. minikube 다운로드 및 설치 - m..
9. Ansible을 이용한 Docker 이미지 관리 with Jenkins # Ansible을 이용한 Docker 이미지 관리하기 1. docker image를 docker hub에 push하기 - 현재 컨테이너에 tag를 부여한다. docker tag cicd-project-ansible may9noy/cicd-project-ansible - Docker login을 수행한다. docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: may9noy Password: - 등록한 tag를 기반으로 docker hub에 push를 수행..
wsl 사용 할때 systemctl 안먹힐때 # wsl 사용 시 systemctl 안먹힐때 조치 방법 sudo -b unshare --pid --fork --mount-proc /lib/systemd/systemd --system-unit=basic.target sudo -E nsenter --all -t $(pgrep -xo systemd) runuser -P -l $USER -c "exec $SHELL" - 끝 -
8. Jenkins과 Ansible 연동 및 Ansible Playbook 사용하기 # Jenkins과 Ansible을 연동하기 1. Jenkins의 시스템 설정으로 이동한다. 하단으로 이동하면 ssh 서버를 등록하는 메뉴가 존재한다. 거기에 추가 아이콘을 클릭하여 Ansible 서버를 등록해 준다. 아래와 같이 기본정보를 입력해주고, 고급 버튼을 클릭하여 추가 정보를 입력한다. - 추가 설정은 아래와 같다. 테스트 커넥션을 클릭하여 연결이 정상적으로 되는지 확인한다. 위의 Success를 확인한다. 정상적으로 연결이 되었음을 확인할 수 있다. 2. Jenkins와 Ansible의 플레이북 사용하기 만약 아래와 같은 오류가 발생 했을 때에는 해당 경로의 내용을 삭제 해줘야 한다. seungkim@Local-ENV:~$ ssh root@localhost -p 10022 @@@@@@@@@@..
7. Ansible Playbook 사용하기 # Ansible Playbook 사용하기 - Ansible Playbook은 사용자가 원하는 내용을 미리 작성해 놓는 파일이라고 볼 수 있다. 이전에는 1개의 명령어를 각각 실행하는 구조 였다면, play 북은 미리 작성해 놓고 사용한다는 의미로 생각하면 된다. - Playbool.yml 파일을 활용하여 새로운 hosts를 추가해보자. hosts의 ip는 172.17.0.5 이다. 파일명 : first-playbook.yml 파일의 내용 --- - name: Add an ansible hosts hosts: localhost tasks: - name: Add a ansible hosts blockinfile: path: /etc/ansible/hosts block: | [mygroup] 172.17.0..