DevOps

소프트웨어 엔지니어링에서 파이프라인(Pipeline)은 무엇인가? Deployment, CI & CD 파이프라인에 대한 소개

이 글은 bmc blogs 의 “What is a Pipeline in Software Engineering? Intro to Deployment, CI, & CD Pipelines” 을 번역한 것 입니다. 원작자의 허락없이 재개시 및 상업적 이용은 불가합니다. https://www.bmc.com/blogs/deployment-pipeline/ 소프트웨어 엔지니어링 팀에서 파이프라인(pipeline)은 개발자나 DevOps 전문가가 효율적이면서도 확실하게 그들의 코드를 컴파일(Compile), 빌드(Build) 그리고 그들의 프로덕션 컴퓨팅 플랫폼에 배포(Deploy) 하게 해주는 자동화된 프로세스들의 묶음(set) 이다. 파이프라인이 이래야 한다거나 반드시 활용해야할 도구(Tools)를 지정하는 강하고 빠른 규칙은 없지만, 파이프라인이 가져야할 가장 일반적인 컴포넌트들이 있다. 빌드 자동화(build automation)/지속적 통합(continuous integration), 테스트 자동화(test […]

Uncategorized

한국 SI를 망치는건 프리랜서들이다.

프리랜서라는 길을 걷다보면 언제나 슬픈 이야기들을 자주 접하곤 한다. 짧은 일정으로 인한 월화수목금금금, 악독한 원청업체 거기다 중간에 사람만 채우고 돈만 때가는 보도방 등으로 인해서 한국 SI 가 발전이 없는 날이 계속된다는 슬픈 이야기… 물론 과도한 업무, 중간에 마진 갈취등은 개선되어야 한다. 누구나 다 인간적인 삶을 권리는 존재하니까. 하지만 프리랜서 생활을 하다 느끼점은 정 반대라는 것이 놀랍다. 프리랜서들 만큼이나 노력과는 거리가 먼 사람들도 없다는 것이 나의 결론이다. 그들을 보고 있자면 정해진 루틴, 자신이 프로젝트를 하면서 익힌 Tip 같은 것 외에는 거의 […]

HowTo, Linux

DNF 사용하기

CentOS 8 로 넘어오면서 기본 패키지 매니지먼트로 dnf 가 되었다. 여전히 yum 을 지원하지만 앞으로는 dnf 로 쭉 간다고 하니 이참에 배워보자고 생각하지만…. 겁나 빡치는게, 이제 그만 바꿨으면 한다. 뭔 yum 정도로도 충분히 잘 쓰고 있고 괜찮다고 싶다. 무슨 겁나 가볍네, 더 빠르네 어케 좋네… 응 yum 도 그렇게 느리고 그렇게 무겁지도 않아! 도대체 뭘 할때마다 갈아 엎고 이걸 새로 배우라고 하니.. 뭐 어쩌것나.. 그렇게 하겠다는데, 닥치고 배워야지! dnf 햐.. 쓰기도 귀찮다… “DNF is the next upcoming major version of […]

HowTo

Ubuntu, systemd-networkd 전환하기

Ubuntu 16.04 로 넘어오면서 SysV 의 Init 이 Systemd 로 변경되었다. 이런 변화에는 Network 관리에도 적용되고 있는데, 이에 대해서 알아보자. 기존의 Network 관련된, 정확하게는 Network Interface 와 관련된 일은 NetworkManager 가 담당했다. Network Interface 가 무엇인지, 아이피는 DHCP 혹은 Static 인지 등이 그것이다. 하지만 Ubuntu 16.04 로 넘어오면서 시스템에 관련된 일체가 systemd 로 통합되면서 네트워크 관련 작업도 systemd 로 통합되어지게 되는데, 이것이 systemd-networkd 이 이다. 하지만 Ubuntu 18.04 로 넘어온 시점에서도 NetworkManger 는 이전과 호환을 위해서 살려뒀고 살려둔김에 지금도 기본적인 […]

Uncategorized

기업이 프리랜서를 정규직으로 뽑지 않는 이유

나이가 먹어가면서 이런 저런 사회현상에 대한 답을 얻어가는 것 같다. 과거 어렸을적(?) 에는 그것이 왜 그렇게 되는지에 대한 의문만 가득했지만 시간이 약이라고 했던가… 한국 사회에서 나이가 가지는 특별함으로 인해서 나도 모르게 이제는 아랫사람이 생기고 과거에 윗사람에게 존댓말을 했던 내가 이제는 존댓말을 받을 위치에서 사회를 바라보게 됨에 따라서 과거에 못보던 것이 이제는 보이는 신기한 현상을 자주 겪는다. 개인적인 경력을 이야기를 하면 정규직 생활을 약 7년 정도하고 프리랜서로 전향한지 이제 약 5년쯤 됐다. 중간에 약 1년 쯤 놀았으니까 프리랜서를 개월수로 환산하면 만 […]

Kubernetes

쿠버네티스(Kubernetes) 개념

쿠버네티스(Kubernetes) 처음 접하면 개념 잡기를 해야 한다. 쿠버네티스를 잘 사용하기 위한 사용법을 익히는것도 중요하지만 개념을 이해하고 나면 외워서 문제해결을 하는 것이 아닌 응용력이 생겨 예기치 않은 장애를 겪을때에 힘을 발휘한다. 개인적으로 쿠버네티스의 개념을 이해하는데 약간의 혼란이 있었다. 개념을 설명하는 용어와 실제 작업을 할때에 사용하는 단어, 명령어들이 다 틀리게 사용되고 있는데서 오는 것이였다. Master/Worker 다들 알다시피 쿠버네티스는 Master Node와 Work Node 로 구성된다. 대부분 Work Node 가 Master Node 보다 훨씬 많고 대부분의 서비스들이 여기에 배포되어진다. Node 라는 단어를 빼버리고 단순히 […]

Kubernetes

kubectl 원격 접속 설정

kubectl 은 Kubernetes Client 이다. 이 명령어는 HTTP 통신을 기반으로 Kubernetes Controller 와 RestFul API 통신을 요청하고 결과를 받아 사용자에게 출력하게 하는 역할을 한다. HTTP RESTFUL API 통신을 한다는 말을 듣는 순간 직감했겠지만 인터넷만 된다면 kubectl 은 어느 컴퓨터에서든 실행이 가능하다. 처음 Kubernetes 설치문서들을 보면 대부분 Master Node 에서 실행되도록 설정을 하는데, 여기서는 다른 컴퓨터에서 kubectl 만 설치해서 Kubernetes Controller 와 연결하는 방법에 대해서 살펴보도록 할 것이다. 설치환경 설치 환경은 Mint Linux 19.2 – XFCE4 환경에서 진행했다. kubectl 를 실행하는 […]

Kubernetes

Kubernetes 설치

Kubernetes 설치에 대해서 다룬다. 설치를 위한 환경은 다음과 같다. Master Distribution: Ubuntu 18.04 IP: 192.168.96.14 hostname: kmaster account: systemv Worker Node Distribution: CentOS 7 IP: 192.168.96.15 hostname: knode account: systemv CNI: Flannel 공통 설정 부분 sudo 권한 추가 Master, Node 두 서버 모두 Static IP 주소를 가지고 있어야 한다. 그리고 모두 일반 계정을 가지고 있어야 하며 이 일반 계정은 sudo 사용 권한을 가지고 있어야 한다. CentOS 7 의 경우에 일반 계정을 생성한 후에 sudo 권한을 주고 싶다면 다음과 같이 하면 […]

HowTo, Linux

Ubuntu 18.04, Static IP 할당하기

Ubuntu 18.04 의 경우 네트워크 인터페이스 관련 작업은 netplan 으로 바뀌었다. 만일 Static IP 를 할당하고 싶다면 netplan 의 설정 파일을 수정하고 적용하면 된다. /etc/netplan/*.yml 여기서 파일을 수정하면 된다. 대략 다음과 같은 포맷을 갖는다. dhcp4: yes 로 되어 있는 경우에는 DHCP 로 아이피를 받아온다. 하지만 이것을 no 바꾸면 Static IP 를 할당할 수 있다. netplan 적용 수정을 다 했다면 다음과 같이 적용해 준다.

HowTo, Linux

Ubuntu 18.04 ethernet 이름 변경하기

Ubuntu 18.04 를 설치하면 ethernet 인터페이스 이름이 과거 eth0 가 아닌 ens3 과 같이 나온다. 하지만 아직도 많은 프로그램들이 기본적으로 eth0 를 기본으로 찾기도 한다. eth0 변경하는 방법에 대해 다룬다. GRUB 파라메터 수정 다음과 같이 Grub 에 파라메터를 추가 한다. Grub 에 파라메터는 /etc/default/grub 파일에서 다음과 같이 추가할 수 있다. 수정된 사항이 Grub 에 반영하기 위해서 업데이트를 수행한다. 여기서 중요한 것이 바로 재부팅을 하면 안된다. 특히나 DHCP 환경에서는 다음의 단계를 수행한 후에 재부팅을 해야 한다. netplan 수정 netplan 은 Ubuntu […]