본문 바로가기

DevOps23

[Linux] 쉘 스크립트(shell script)를 사용하는 이유 무엇일까? shell script란? shell script는 기본적으로 Shell 커맨드가 들어 있는 실행 가능한 텍스트 파일입니다. 다른 변수나 함수 혹은 반복문과 같이 프로그래밍에서 사용되는 컴포넌트들을 사용할 수 있고 순차적으로 실행됩니다. shell script를 사용하는 이유는? 여러가지 이유가 있지만 가장 큰 이유는 반복되는 작업을 자동화하기 위해 스크립트형태로 미리 만들어 놓고 실행만 하도록 하기 위해서 입니다. 이렇게 하면 스케줄링을 돌려서 파일만 실행하도록 할수도 있고 스크립트의 내용을 몰라도 누구나 실행할 수 있습니다. 예를들어... 신입 개발자에게 어떤 업무를 부여할때 세부적으로 어떤 작업인지 몰라도 스크립트만 실행해서 작업을 할 수 있도록 전문적인 내용을 자세히 알 필요 없이 스크립트 실행에.. 2021. 3. 16.
[Linux] 리눅스 책 추천 개발자부터 비개발자까지~ 리눅스 책 추천 1. 디버깅을 통해 배우는 리눅스 커널의 구조와 원리1,2 디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1:라즈베리 파이로 따라하면서 쉽게 이해할 COUPANG www.coupang.com 디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2:라즈베리 파이로 따라하면서 쉽게 이해할 COUPANG www.coupang.com 신입 리눅스 시스템 개발자부터 5년차 개발자가 실무를하기 위해 알아야할 리눅스 커널의 주요 서브시스템을 다루고 있습니다! [1권] 커널 디버깅(ftrace), 프로세스, 인터럽트, 인터럽트 후반부, 워크큐 에 대한 내용을 다루고 있습니다. 디버깅하는 방법과 함께 ftrace 사용법을 소개하고 커널을 실행하는 주인공인 프로세스와 인터럽트를 커널이 처리하는 세부 동작.. 2021. 3. 16.
[Rancher] Rancherd 쿠버네티스 HA 클러스터 구성 및 설치, 폐쇄망 대처 방법 Rancher란? Rancher는 쿠버네티스 클러스터를 배포하고 관리하기 위해 사용되는 툴입니다. web기반 GUI와 command line 인터페이스로 쿠버네티스 클러스터를 구성할 수 있고 확장 또한 쉽게 가능하다. 이미 존재하는 클러스터도 import하여 rancher 인터페이스로 관리가 가능하고 또한 제공되는 리포지토리에서 필요한 application들을 쉽게 배포할 수도 있다. kubernetes를 웹기반으로 쉽게 관리할 수 있다는게 가장 큰 장점이다. Rancher 설치 사전 요구 사항 스펙 HA 구성을 위해 3개 노드 준비 --> 리소스 부족으로 2개 master와 1개 worker 노드로 구성한다. - master01.centos.test (Memory 4G) - master02.centos.. 2021. 3. 11.
[Kubernetes] 구글 클라우드 플랫폼 GKE 쿠버네티스 엔진 사용 방법 GKE 구글 쿠버네티스 엔진 minikube를 사용해서 단일 노드 쿠버네티스 클러스터 환경을 구축해서 개인 로컬 PC에서 실습을 진행해봤다. 이번에는 완전한 다중 노드 쿠버네티스 클러스터 환경을 셋팅하여 사용할 수 있는 GKE 구글 쿠버네티스 엔진을 사용해보도록 하겠다. 인프라에 대한 설정 작업이 없고, 쉽게 다중 노드로 실습이 가능하다. 구글 클라우드 프로젝트 GCP 2021년 01월에 진행한 내용으로 서비스 약관에 대한 내용이 변경될 수 있습니다. 클라우드 컴퓨팅 서비스 | Google Cloud 데이터 관리, 하이브리드 및 멀티 클라우드, AI 및 머신러닝 등 Google의 클라우드 컴퓨팅 서비스로 비즈니스 당면 과제를 해결하세요. cloud.google.com 구글 클라우드 플랫폼콘솔에서 먼저 프.. 2021. 1. 30.
[Kubernetes] 쿠버네티스 linux, mac minikube 설치 Kubernetes 클러스터 설치 minikube 쿠버네티스를 클러스터를 설치하는 방법은 여러가지가 있다. minikube kubeadm kubespray (ssh) AWS, GKE(Google Kubernetes 엔진) rancher 여러 방법중에 개인 실습환경에서 단일 노드 형태로 쉽게 구성할 수 있는 minikube를 이용한 설치를 해보겠습니다. Kubernetes는 여러 노드를 관리하기 위해 사용되지만, Kubernetes의 개념익히거나 테스트의 목적으로 minikube를 사용하여 단일노드형태로 설치해서 사용하기 좋은 방법이다. Kubernetes 클러스터 통신 구조 minikube를 설치하면 Kubernetes Cluster를 생성할 수 있다. 그러나 클러스터의 제어는 kubectl이라는 Kub.. 2021. 1. 27.
[Puppet] 퍼펫 실행 Resource, Class, Manifest, Node 사용법 Puppet 실행 Puppet은 자체적으로 제공되는 언어를 사용하여 스크립트를 작성한다. 작성한 스크립트를 기반으로 관리되고 있는 Host에 명령을 내리고 인프라를 코드화하여 관리할 수 있다. Puppet 스크립트는 .pp 확장자를 갖고 Manifest 파일이라고도 한다. 이번 글에서는 Puppet Script에서 사용되는 Resource, Class, Manifest 그리고 Node에 대한 개념을 알아보고 Nginx를 설치하고 Nginx 홈페이지의 html파일을 받아와서 index로 정의하는 예제를 진행해보겠습니다. Puppet에 대한 기본 개념이 필요하거나 Puppet설치가 안되어있으면 실습환경을 위해 아래 글을 통해 설치가능합니다. [Puppet] 퍼펫 소개 및 설치 Puppet이란? Puppet은.. 2021. 1. 11.
[Puppet] 퍼펫 소개 및 설치 Puppet이란? Puppet은 ruby로 만들어진 시스템 관리 자동화 툴이다. 주로 설정, 관리, 배포, orchestrate와 같은 일을 하기 위해 사용된다. puppet을 사용하는 이유는 반복되는 업무를 자동화하기 위함이다. 예를 들어 패키지를 5개의 서버에 설치해야한다고 가정하면... 오랜 시간이 걸리지 않아 반복되는 작업을 직접 붙어서 할 수 있다. 하지만, 만약 100개, 1000개 이상의 서버에 같은 작업을 해야한다면? 직접 하기에는 소요되는 비용이 너무 큽니다. 이러한 이유로 인프라, 데브옵스 엔지니어가 조직의 업무를 자동화하기 위해 많이 사용한다. puppet 주요 특징 Master Agent Pull 기반 시스템 관리 툴은 Pull기반과 Push기반으로 나뉜다. Puppet은 Pull기.. 2021. 1. 10.
[Vagrant] SSH 공개키 자동 등록 환경 설정, Ansible 사용 이번 글에서는 Vagrant를 이용해서 ansible을 사용할 때 인증 작업을 생략하기 위해 SSH 공개키를 자동으로 등록하는 실습니다. Vagrant를 이용해서 provisioning할 때 Ansible을 많이 사용하게 됩니다. 그런데 ansible은 ssh를 통해 통신하기 때문에 ansible hosts에 직접 계정정보를 등록해주지 않는 이상 -k 옵션을 이용해야하지만... vagrant에서 환경 세팅을 위해 -k 옵션을 사용할 수 없다. 이런 불편함을 해소하기 위해 공개키를 vagrant에서 직접 등록하여 provisioning을 편하게 진행할 수 있습니다. Vagrantfile # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant_API_Version = "2" .. 2020. 12. 20.
[Vagrant] 사용법 및 CentOS Provisioning 기본 구축, Vagrant란? Vagrant? Provisioning? Vagrant는 Provisioning을 위한 툴입니다. 그럼 Provisioning이 뭘까요? 제가 정의하는 Provisioning은 시스템을 미리 코드화하여 언제든지 즉시 시스템을 구성할 수 있도록 하는 것 입니다. 예를 들어 Virtual box를 사용해서 가상머신을 생성하는데 필요한 메모리, cpu, 네트워크를 정의하고 시스템에 필요한 패키지를 설치 혹은 환경설정을 미리 코드화하여 서버를 생성할 준비할 수 있습니다. Vagrant를 사용하면 주기적으로 서버를 배포하고 새롭게 환경은 적용할 필요가 있을 때 유용하게 사용될 수 있습니다. 각각 다른 서비스의 테스트환경을 구축하거나, 학습이나 단기적으로 사용에 필요할 수 있습니다. Vagrant 설치 Vagran.. 2020. 12. 19.
[CentOS] ssh password 입력 없이 로그인 하기, ssh-keygen 공개키 생성 SSH 로그인 OS : CentOS Linux release 7.8 hosts: 222.111.71.200, 222.111.71.201 user: root 목표 : 222.111.71.200 root 계정에서 222.111.71.201 root계정으로 공개키를 이용한 ssh 접속 다른 서버에 접속하기 위해 SSH 프로토콜을 사용한다. 매번 비밀번호를 입력하고 접속하는데 이러한 과정을 ssh-keygen으로 공개키를 이용해서 생략할 수 있다. 아래 실습 내용은 222.111.71.201 root계정에 비밀번호 입력 없이 로그인하는 것을 목표로 합니다. 222.111.71.200 root 계정에서 생성한 공개키를 보내 환경구성합니다. Permission denied (publickey,gssapi-keyex.. 2020. 12. 19.