쿠버네티스(Kubernetes)가 발전에 따라서 많은 변화를 겪었다. 최신의 버전에서 extension apiserver 라는 것을 필요로하는 경우가 많다. 이것은 쿠버네티스 문서에서는 aggregation layer 라고 설명하고 있다. Configuring the aggregation layer allows the Kubernetes apiserver to be extended with additional APIs, which are not part of the core Kubernetes APIs 애그리게이션 레이어 설정은 쿠버네티스 API 코어의 일부가 아닌 추가적인 API를 가지고 확장될 수 있는 쿠버네티스 apiserver 를 가능하게 한다. Configure the Aggregarion Layer 최근에 구축한 쿠버네티스 서버에 메트릭 서버(Metric Server) 를 설치했는데 제대로 작동되지 않아 왜 […]
AWS CloudFormation 보안 모범 사례
이 문서는 다음의 내용을 번역한 것입니다. AWS CloudFormation Security Best Practices AWS CloudFormation을 사용하면 개발자와 시스템 관리자가 AWS와 연관된 리소스 모음을 질서있고 예측 가능한 방식으로 프로비저닝하고 업데이트하여 쉽게 생성하고 관리 할 수 있다. 우리의 많은 고객들은 그들의 AWS 환경에서 변경사항을 간단하게 캡쳐하고 버전 제어를 실행하고 인프라에서 다른 작업 중에서도 비용을 관리하는 등에 모든 리소스를 제어하기 위해 CloudFormation 을 사용한다. 고객들은 자주 어떻게 CloudFormation 스택에 허가권을 제어하는 우리에게 묻는다. 이 글에서, 우리는 CloudFormation 에 대한 AWS Identity 와 IAM 정책을 사용, CloudFormation […]
AWS EKS 클러스터 셋업
How to setup AWS 의 EKS Cluster 를 셋업할 수 있는 방법에는 다음과 같다. AWS Management Console eksctl utility provided by AWS IaC (Terrform, Ansible) 여기서는 AWS Management Console 를 이용한 방법을 사용할 것이다. Prerequirement AWS 를 사용하기 위해서는 권한이 있어야 한다. 다음과 같은 권한이 일단 필요하다. AWS Account with Admin Privileges AWS Cli Access to use Kubectl utility Instance (To manage cluster by using Kubectl) AWS 계정은 될수 있는한 관리자 권한이 필요하다. Create IAM role for EKS Cluster EKS […]
계약서를 쓰지도 않고 프로젝트 투입 – 자살골이다.
내가 적은 글을 보면 대부분이 ‘사업자’ 라고 규정하는 댓글들이 넘쳐난다. 글이 내용이 프리랜서들의 이중성을 고발하는 글이다보니, 프리랜서의 적은 사업자니까 그렇게 생각하는 모양이다. 나 아니면 적이라는 인식도 문제만, 몇자의 글로 사업자로 생각하는 흑백논리 밖에 모르는 사람들이 프리랜서를 하는 것도 큰 문제이자 프리랜서들의 권리를 찾는데 최대 걸림돌이 된다. 최근에 프로젝트를 옮기기 위해서 이력서를 여기저기 보내놨는데, 여전히 바뀌지 않는 중에 하나가 계약서 문제다. 이력서를 보고 연락을 했다고 하고 면접까지보고 언제 출근하라고까지 한것까지는 좋았지만 계약서에 대한 언급이 없었다. 더군다나 출근이 다음주 월요일, 지금은 금요일이다, […]
한국 SI 를 망치는건 프리랜서들이다 2
이전에 한국 SI를 망치는건 프리랜서들이다 글을 달았더니 엉뚱한 댓글들이 마구 달리는 걸 보면서 모신문사에서 조사했던 독해력이 떨어진다는 글이 생각 났다. 주요 내용에 불법 소프트웨어 사용에 대한 내용을 다루기도 했지만 댓글에 그것에 대해서 이야기하는 사람들은 거의 없다. 마치 최근에 문재인 정부에 대한 정책을 비판하면 ‘너 토책왜구지?’ 하는 어뚱한 말을 하는 사람들처럼… 한국 SI 를 망치는 건 프리랜서들인건 변함이 없다. 일각에서는 능력없는 개발자들이 많다보니 그렇다고 하지만, 변명에 불과 하다. 독해력이 떨어지는 인간들이 댓글을 다는 것도 웃기지만 그것을 댓글 승인을 해주기도 그렇다고 안해주기도 […]
데이터베이스를 위한 시스템 설정 – HugePage Size
Oracle, MariadB, MySQL 등과 같은 관계형 데이터베이스를 다루다보면 시스템 튜닝에 대해서 많이 접하게 된다. 특히나 리눅스 시스템에서 이들 데이터베이스 시스템이 제대로 작동하기 위한 운영체제 차원에서 필요한 작업을 많이 하게 된다. 이러한 운영체제 차원에서 작업은 여러가지가 있어서 알아야 하는 내용도 많고 세팅해야 하는 것도 많다. 대부분 인터넷이나 가이드 북을 이용해 어찌어찌 설정을 한다고 하지만 많은 사람들이 그것이 왜 필요한지 깊게 이해하는 사람들은 드물다. 그래서 아주 간단하게 데이터베이스 시스템을 다루는데 있어 리눅스 운영체제에서 필요로 하는 작업에 필요한 배경지식에 대해서 다루어 보고자 한다. […]
MariaDB 10.5.8 컴파일 설치
MariaDB 10.5.8 컴파일 설치를 해보도록 한다. 컴파일 설치를 위한 환경은 다음과 같다. CentOS 8(x86_64) Latest version 최소 설치(Minimal Installation) 환경 CentOS 8 에 최소 설치 환경이 매우 중요 하다. 최소 설치 환경이 아니라면 이 문서 내용 그대로 할 수는 없을 수도 있다. 컴파일 환경 구축 CentOS 8 을 최소설치하게 되면 패키지 저장소 또한 최소한으로 활성화가 된다. CentOS 8 은 패키지를 위한 저장소를 많이 분할해 놨는데 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
]# ls -lh /etc/yum.repos.d/ total 48K -rw-r--r--. 1 root root 719 Nov 10 09:32 CentOS-Linux-AppStream.repo -rw-r--r--. 1 root root 704 Nov 10 09:32 CentOS-Linux-BaseOS.repo -rw-r--r--. 1 root root 1.2K Nov 10 09:32 CentOS-Linux-ContinuousRelease.repo -rw-r--r--. 1 root root 318 Nov 10 09:32 CentOS-Linux-Debuginfo.repo -rw-r--r--. 1 root root 731 Jan 24 20:47 CentOS-Linux-Devel.repo -rw-r--r--. 1 root root 704 Nov 10 09:32 CentOS-Linux-Extras.repo -rw-r--r--. 1 root root 719 Nov 10 09:32 CentOS-Linux-FastTrack.repo -rw-r--r--. 1 root root 740 Nov 10 09:32 CentOS-Linux-HighAvailability.repo -rw-r--r--. 1 root root 693 Nov 10 09:32 CentOS-Linux-Media.repo -rw-r--r--. 1 root root 706 Nov 10 09:32 CentOS-Linux-Plus.repo -rw-r--r--. 1 root root 723 Jan 24 20:48 CentOS-Linux-PowerTools.repo -rw-r--r--. 1 root root 898 Nov 10 09:32 CentOS-Linux-Sources.repo |
최소설치한 후 활성화된 저장소는 다음과 같다.
1 2 3 4 5 |
]# dnf repolist repo id repo name appstream CentOS Linux 8 - AppStream baseos CentOS Linux 8 - BaseOS extras CentOS Linux 8 - Extras |
RedHat 배포판의 경우 프로그래밍 라이브러리들은 […]
Yum 패키지 충돌 발생시 쓸 수 있는 명령어
최근에 CentOS 8 에서 Kubernetes 를 테스트하던 중에 패키지 업데이트가 되지 않는 일이 발생 했다. 아직 Kubernetes 는 CentOS 8 배포판을 정식으로 지원하지 않아 CentOS 7 배포판의 패키지를 사용해야 하는 상황이다. 그런데, yum 명령어로 업데이트를 할려고 보니 오류가 발생 했다. 이럴 경우에 다음과 같은 명령어를 사용해서 의존성을 체크해 볼 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 |
# repoquery --requires --resolve kubelet-1.18 ethtool-2:4.8-10.el7.x86_64 iptables-0:1.4.21-34.el7.x86_64 util-linux-0:2.23.2-63.el7.x86_64 iptables-0:1.4.21-34.el7.i686 util-linux-0:2.23.2-63.el7.i686 conntrack-tools-0:1.4.4-7.el7.x86_64 iproute-0:4.11.0-25.el7_7.2.x86_64 ebtables-0:2.0.10-16.el7.x86_64 glibc-0:2.17-307.el7.1.i686 glibc-0:2.17-307.el7.1.x86_64 socat-0:1.7.3.2-2.el7.x86_64 |
위와같은 명령어를 이용하면 패키지 의존성에 대한 내용을 풀어서 볼 수 있다. 참고: kubeadm and kubelet 1.15 fail to install on centos 7 after patches released today#92242
이랜드 그룹 계열사 랜섬웨어 감염
이랜드 그룹 계열사 중 쇼핑몰로 유명한 NC백화점, 뉴코아아울렛등 23곳이 랜섬웨어 감염으로 휴점을 했다는 뉴스가 나왔다. 그런데, 뉴스 기사를 보고 의아한 생각이 들었던 것이 뉴스 기사에서는 이것을 ‘공격’으로 표현하고 있다는데 있다. 랜섬웨어는 몇해전부터 유명해진 방법이다. 대상이 되는 컴퓨터 시스템에서 활동해 관련 자료들을 전부 암호화 해버린다. 만일 암호화된 자료를 복호화 할려면 패스워드를 알아야 하는데, 랜섬웨어를 유포한 일당들은 이것을 빌미로 돈을 요구한다. 대부분 돈을 요구한데로 보내줬다고 하더라도 나몰라라 하는 경우가 많다. 랜섬웨어는 공격을 하는 형태가 아니다. 랜섬웨어의 주요 경로는 불법적인 소프트웨어 다운로드에 있다. […]
Generic WebHook Trigger 설정
Jenkins 에서 Github 나 GitLab 와 연동하기 위해서 Generic WebHook Trigger 플러그인을 많이 사용한다. 검색을 해보면 사용법이 아주 많이 나오는데, 특정 브랜치(Branch) 에만 작동되게 하기 위해서 Execute Shell 를 활용하는 사례를 볼 수 있다. 하지만 Generic WebHook Trigger 플러그인 설정에서 그냥 특정 브랜치만 반응하도록 할 수 있다. 제일 먼저 Post content parameters 에서 Variable 에 “ref”, Expression 에는 “$.ref” 를 적어주고 JSONPath 를 선택해 준다. 이것은 Github나 GitLab 가 jenkins 를 호출할때에 JSON 포맷으로 관련 데이터를 넘겨주게 된다. JSON 포맷이기 […]