-
Flatcar Container Linux on AWS 에서 ignition 및 cloud-init 설정
Flatcar Container Linux 란? Flatcar Container Linux 는 기존 CoreOS Container Linux 에서 Fork 해서 만들어진 컨테이너 리눅스 배포판입니다. Ignition vs Cloud-init Ignition 이란 컨테이너 리눅스 운영체제에서 사용되는 low-level 시스템 구성 도구입니다. Ignition 은 첫번째 부팅에서 실행이 되도록 설정이 되어있고 초반 컨테이너 리눅스 운영체제의 구성을 담당하는 역할을 하고 있습니다. 그리고 cloud-init 으로 말하지만 컨테이너 리눅스 운영체제에서는 coreos-cloudinit 혹은 oem-cloudinit 를 통해 일반적인 리눅스의 cloud-init 과 유사한 동작을 지원하는 것으로 생각하면 좋을 것 같습니다. Ignition 배포...
chhanz's profile imagechhanz
2024-10-22
-
[Linux] Out of Memory 테스트
Flask App Out of Memory 를 생성하는 테스트 어플리케이션 Out of Memory 현상을 확인하기 위해 아래와 같은 Flask 테스트 어플리케이션을 제작하였습니다. 코드는 Gen AI 의 도움을 받아 생성하였습니다. Install 아래와 같은 방식으로 Python virtual environment 를 생성하고 pip 을 이용하여 Package 를 설치합니다. [root@ip-172-31-14-46 ~]# python3 -m venv flask [root@ip-172-31-14-46 ~]# source flask/bin/activate (flask) [root@ip-172-31-14-46 ~]# pip install Flask psutil 아래와 같은 방법으로 소스를 추가합니다. (flask) [root@ip-172-31-14-46 ~]# mkdir -p app/templates (flask) [root@ip-172-31-14-46 ~]# vi app/app.py (flask)...
chhanz's profile imagechhanz
2024-09-02
-
[Amazon Linux 2023] update-alternatives 로 editor 변경
update-alternatives 로 editor 변경 이번 글에서는 Amazon Linux 2023 에서 update-alternatives 을 이용하여 Default Editor 를 변경하는 과정을 직접 등록하고 사용해보도록 하겠습니다. Configuration 사용할 Editor 를 아래와 같은 방법으로 등록합니다. $ sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1 $ sudo update-alternatives --install /usr/bin/editor editor /usr/bin/nano 2 등록된 Editor 를 다음과 같은 방법으로 확인합니다. $ sudo update-alternatives --display editor editor - status is auto. link currently points to /usr/bin/nano /usr/bin/vim - priority 1 /usr/bin/nano - priority...
chhanz's profile imagechhanz
2024-08-30
-
[Linux] CentOS 7 : Could not resolve host: mirrorlist.centos.org; Unknown error
EOS CentOS 7 - yum error End of Service - CentOS 7 CentOS 7 은 2024년 06월 30일 이후로 End of Service 가 되었습니다. 지속적인 사용을 위해서는 CentOS Stream 혹은 RHEL 계열의 배포판을 사용해야합니다. ERROR yum 다음과 같이 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=genclo error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" 에러가 발생되는 것을 확인 할 수 있습니다. [root@ip-172-31-6-151 ~]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=genclo error...
chhanz's profile imagechhanz
2024-07-02
-
[Proxmox] Import the qcow2 image
Import Rocky Linux and Amazon Linux 2023 이전 글 Install Proxmox : https://tech.chhanz.xyz/linux/2024/05/13/install-pve-8-2/ Create Cluster : https://tech.chhanz.xyz/linux/2024/05/31/pve-cluster Deploy Ceph in Proxmox 8.2.1 : https://tech.chhanz.xyz/linux/2024/05/31/pve-with-ceph/ VM Live Migration on Proxmox 8.2.1 : https://tech.chhanz.xyz/linux/2024/06/07/pve-migration/ Qcow2 이미지 추가 Proxmox 에 Cloud-init device 기능과 qcow2 유형의 Cloud Image 를 이용하면 Proxmox 에서도 간단하게 운영체제를 설정하고 생성, 운영 할 수 있습니다. How to 먼저 Template 생성을 위해 VM 을 생성합니다. 아래 작성한 내용은 Rocky Linux 8.10 을 추가하기 위한 내용을 구성되어 있습니다. Template 생성을 위한 VM 생성을...
chhanz's profile imagechhanz
2024-06-08
-
[Proxmox] VM Live Migration on Proxmox 8.2.1
이전 글 Install Proxmox : https://tech.chhanz.xyz/linux/2024/05/13/install-pve-8-2/ Create Cluster : https://tech.chhanz.xyz/linux/2024/05/31/pve-cluster Deploy Ceph in Proxmox 8.2.1 : https://tech.chhanz.xyz/linux/2024/05/31/pve-with-ceph/ Migration 기본적으로 PVE Cluster 내에서 수행되는 offline 마이그레이션과 online 마이그레이션이 존재합니다. 참고로 기존 PVE Cluster 에서 Remote Cluster 로 마이그레이션하는 remote-migrate 방식도 존재합니다. How to 아래와 같은 방법으로 VM 을 마이그레이션 할 수 있습니다. 위와 같이 마이그레이션을 할 VM 에서 Migrate 메뉴를 선택합니다. PVE Cluster 내에서 마이그레이션 될 PVE 노드를 선택합니다. 위와 같이 Migrate 가 완료된 것을 볼...
chhanz's profile imagechhanz
2024-06-07
-
[Proxmox] Deploy Ceph in Proxmox 8.2.1
Proxmox with Ceph 설치 이전 글 Install Proxmox : https://tech.chhanz.xyz/linux/2024/05/13/install-pve-8-2/ Create Cluster : https://tech.chhanz.xyz/linux/2024/05/31/pve-cluster Ceph Cluster 배포 이전 글에 이어서 설치된 Proxmox 3대를 이용하여 Ceph Cluster 를 구성해보겠습니다. 테스트 구성도 테스트에 사용할 네트워크 정보 vmbr0 : VM Network Cluster 및 CEPH Public Network : 20.20.20.0/24 CEPH Cluster Network : 30.30.30.0/24 배포 PVE 관리 GUI > Datacenter > Ceph 메뉴를 선택하고 Install Ceph 를 선택합니다. 설치할 Ceph 버전을 Quincy 로 선택하고 Repository 를 No-Subscription 을 선택하였습니다. Ceph 패키지를 설치를 수행합니다....
chhanz's profile imagechhanz
2024-05-31
-
[Proxmox] Create Cluster the Proxmox 8.2.1
Proxmox Cluster 생성 이전 글 Install Proxmox : https://tech.chhanz.xyz/linux/2024/05/13/install-pve-8-2/ Cluster 생성 이전 글에 이어서 설치된 Proxmox 3대를 이용하여 Cluster 를 구성해보겠습니다. 테스트 구성도 테스트에 사용할 네트워크 정보 vmbr0 : VM Network Cluster 및 CEPH Public Network : 20.20.20.0/24 PVE 관리 GUI > Datacenter > Cluster > Create Cluster 를 선택하고 Cluster Name / Network 을 입력합니다. Cluster 생성을 수행하면 위와 같이 TASK 가 완료되는 것을 확인 할 수 있습니다. pve1 노드 한개로 구성된 Cluster 정보를 볼 수 있습니다....
chhanz's profile imagechhanz
2024-05-31
-
[Proxmox] Install Proxmox 8.2.1
Install Proxmox 8.2.1 Proxmox 란? Proxmox Virtual Environment는 가상화 관리를 위한 오픈 소스 소프트웨어 서버입니다. Type 2 하이퍼바이저로서 리눅스와 윈도우를 포함한 운영 체제들을 x64 하드웨어에서 구동할 수 있는 소프트웨어입니다. 위키백과 : https://ko.wikipedia.org/wiki/Proxmox_Virtual_Environment 최근 VMware 의 라이센스 정책이 변경 되면서 사용하기 좋은 오픈 소스 가상화 솔루션에 대해 조사를 하면서 Proxmox 라는 솔루션을 보았고, 하나씩 기능 테스트를 하면서 다양한 용도의 활용에 좋은지 확인하는 글을 작성해보려고 합니다. Install Proxmox 공식 홈페이지에서 Download 한 ISO 를 이용하여 부팅을 하면...
chhanz's profile imagechhanz
2024-05-13
-
[Linux] How to extend MD device (RAID 0)
RAID 0 MD device 증설 방법 RAID 0 MD device 증설 방법 사용하는 RAID 0 의 MD device 를 증설하는 여러 방법에 대해 작성해보겠습니다. 테스트 RAID 디바이스 생성 아래와 같은 방법으로 디스크 3장을 RAID 0 디바이스로 생성 할 수 있습니다. $ sudo mdadm --create --level=0 --raid-devices=3 /dev/md0 /dev/xvdb /dev/xvdc /dev/xvdd mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. $ sudo mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Apr 8 23:19:51 2024 Raid Level : raid0...
chhanz's profile imagechhanz
2024-04-09
-
[Linux] Install sosreport on Amazon Linux 2023
Amazon Linux 2023 에 sosreport (sos) 설치 sos 는 시스템의 로그 및 구성 요소를 수집하고 저장하는 유용한 도구입니다. 하지만 기본적으로 Amazon Linux 는 sos(sosreport) 명령어가 제공이 안됩니다. 이번 포스팅은 sos 를 수동 설치 하는 방법에 대해 알아보도록 하겠습니다. 설치 테스트 환경 : Amazon Linux 2023 Release Version : 2023.3.20240312 아래와 같이 sos 설치에 필요한 패키지를 설치합니다. $ sudo dnf -y install git python3-pip python3-magic 다음 sos github repository 를 clone 합니다. $ sudo git clone...
chhanz's profile imagechhanz
2024-03-18
-
[OKD 4.14] OKD Cluster 에 Let’s Encrypt Certificates 설치
Let’s Encrypt Certificates Let’s Encrypt는 사용자에게 무료로 TLS 인증서를 발급해주는 비영리기관입니다. 몇 가지 TLS 인증서 종류 중에서 완전 자동화가 가능한 DV (Domain Validated, 도메인 확인) 인증서를 무료로 발급할 수 있습니다. 위 인증서를 발급 받고 OKD Cluster 에 설치하여 콘솔 및 Route 에서 HTTPS 서비스를 할 수 있도록 와일드 카드 인증서를 발급 받아보았습니다. 발급 아래와 같이 인증서 발급을 위해 acme.sh repository 를 clone 합니다. $ git clone https://github.com/neilpang/acme.sh 먼저 스크립트는 인증서 발급 과정중에 발생되는 도메인 소유권...
chhanz's profile imagechhanz
2024-02-22
-
[OKD 4.14] Deploy OKD cluster on AWS
Deploy OKD cluster on AWS OKD 4.14 를 AWS 에 배포 테스트 내역에 대해 기록해보도록 하겠습니다. Install openshift-install 아래 Release 에서 해당 버전에 맞는 openshift-install 를 내려 받습니다. $ wget https://github.com/okd-project/okd/releases/download/4.14.0-0.okd-2024-01-26-175629/openshift-install-linux-4.14.0-0.okd-2024-01-26-175629.tar.gz $ tar xzvf openshift-install-linux-4.14.0-0.okd-2024-01-26-175629.tar.gz Deploy Cluster 아래와 같이 Cluster 배포에 필요한 install-config 를 생성합니다. $ mkdir ./okd $ ./openshift-install create install-config --dir ./okd ? SSH Public Key /root/.ssh/id_rsa.pub <<<---!!! okd node 에 사용될 ssh public key ? Platform aws <<<---!!! okd 가 설치될 환경...
chhanz's profile imagechhanz
2024-02-06
-
[Linux] convert2rhel 사용법
CentOS7 > RHEL 7 로 변환하는 법 개요 2020년 CentOS 운영체제에 대한 정책 변경으로 인해 사용자들은 대체 운영체제인 Rocky Linux, Alma Linux 등 기타 운영체제로 변경하는 경우들도 많았습니다. 그리고 얼마 후면 CentOS 7 의 EOS 인 2024년 06월 30일가 됩니다. 위와 같이 이유로 인해 convert2rhel 를 이용하면 CentOS 에서 RHEL 로 변경하고 ELS 와 같은 계약을 통해 EOS 기간을 늘리면서 다른 배포판으로 전환하는 기간을 확보 혹은 RHEL 로 전환 등 여러 방향으로 사용이 가능할 것으로 보여서 아래와 같이 운영체제를 CentOS 에서 RHEL...
chhanz's profile imagechhanz
2024-01-25
-
[Linux] Install nbd on Amazon Linux 2
Network Block Device nbd (Network Block Device) nbd 를 Amazon Linux 2 에 설치하고 테스트를 해보았습니다. Install Server Side 서버쪽에 원본 데이터 디스크가 있을 것이고 해당 디스크를 nbd 를 이용하여 클라이언트에게 제공하는 환경입니다. $ sudo amazon-linux-extras install epel $ sudo yum -y install nbd 위와 같이 epel repository 를 활성화 하고 nbd 패키지를 설치합니다. $ sudo mkdir /etc/nbd-server $ sudo vi /etc/nbd-server/config [generic] listenaddr = 0.0.0.0 port = 9090 [export] exportname = /dev/nvme1n1 readonly = false multifile =...
chhanz's profile imagechhanz
2024-01-24
-
[CEPH] ceph-ansible 을 이용한 ceph quincy 설치
설치간 발생한 이슈 정리 ceph-ansible 을 이용한 Ceph quincy 설치 오늘은 Ceph quincy 버전을 설치 테스트하면서 발생한 문제에 대해 메모하도록 하겠습니다. 설치 기본적인 설치는 이전에 작성한 octopus 버전 문서를 참고합니다. https://tech.chhanz.xyz/ceph/2021/02/23/ceph-ansible/ 이슈 아래와 같이 site-container.yml 을 이용해서 playbook 을 수행하려고 할 때 아래와 같이 에러가 발생합니다. (deploy) root@deploy:~/ceph-ansible# ansible-playbook -i inventory site-container.yml -b [DEPRECATION WARNING]: [defaults]callback_whitelist option, normalizing names to new standard, use callbacks_enabled instead. This feature will be removed from ansible-core in version 2.15. Deprecation warnings can be...
chhanz's profile imagechhanz
2024-01-10
-
[Docker] Preview dokemon (feat. Amazon Linux 2023)
Docker manager Dokemon 이란? 사용하기 쉬운 도커 컨테이너 관리용 GUI 도구로 Pokémon 이 연상되는 재미있는 이름의 도구입니다. 이런 강렬한 이름에 한번 어떤식으로 사용이 가능한지 테스트 해보았습니다. 설치 이번 테스트에 사용한 운영 체제는 Amazon Linux 2023 에서 진행 되었습니다. 먼저 기본적으로 Docker 및 docker-compose 를 설치합니다. $ sudo yum -y install docker $ sudo systemctl enable --now docker $ sudo curl -SL https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-linux-x86_64 -o /usr/libexec/docker/cli-plugins/docker-compose $ sudo chmod u+x /usr/libexec/docker/cli-plugins/docker-compose $ sudo docker compose version Docker Compose version...
chhanz's profile imagechhanz
2023-12-23
-
[Linux] Ansible Playbook 을 이용한 EC2 인스턴스 PCS Cluster 환경 생성
Ansible Playbook 을 이용한 EC2 인스턴스 Pacemaker Cluster 환경 생성 AWS 에서 Pacemaker 테스트 환경을 구성 할 때, 여러 작업을 Ansible Playbook 을 통해 테스트 환경 구축을 자동화 할 수 있습니다. ansible.ha-cluster-pacemaker 플레이북을 이용하여 자동화가 되며, 해당 플레이북에 Add support for fence_aws PR 을 진행했고, AWS 에서도 사용이 가능한 Playbook 이 되어서 빠른 테스트 환경 구축에 활용 할 수 있게 되었습니다. 테스트 환경 EC2 인스턴스를 준비 합니다. RHEL-HA AMI 를 이용하여 인스턴스를 생성합니다. 참고 :...
chhanz's profile imagechhanz
2023-11-14
-
[Linux] Amazon Linux 2023 rc.local 활성화
[Linux] Amazon Linux 2023 rc.local 활성화 Amazon Linux 2023 에서 rc.local 기능을 사용하기 위해서는 아래와 같은 방법을 이용하면 사용이 가능합니다. (1) /etc/rc.d/rc.local 파일을 생성합니다. man page 를 확인하면 아래와 같이 기존에는 /etc/rc.local 이였지만 지금은 /etc/rc.d/rc.local 으로 변경된 것을 확인 할 수 있습니다. $ man systemd-rc-local-generator DESCRIPTION systemd-rc-local-generator is a generator that checks whether /etc/rc.d/rc.local exists and is executable, and if it is, pulls the rc-local.service unit into the boot process. ... $ sudo vi /etc/rc.d/rc.local...
chhanz's profile imagechhanz
2023-10-11
-
[Linux] Putty 에서 imported-openssh-key 또는 Putty Fatal Error 오류가 발생하는 경우
Putty 를 통해 EC2 Linux 인스턴스에 연결할 때 imported-openssh-key 또는 Putty Fatal Error 오류가 발생하는 이유는 무엇인가요? 사내에서 Putty 로 Linux 인스턴스에 접근 할 때, 주로 발생하는 일반적인 문제에 대해 쉽게 이해 할 수 있도록 한국어로 영상을 현지화하여 공개 하였습니다. 자세한 내용을 확인하기 위해서는 아래 문서 및 영상 자료를 참고하시면 도움이 됩니다. 문서 : https://repost.aws/ko/knowledge-center/linux-credentials-error 영상 자료 더 많은 AWS 한국어 지식센터 영상 한국어 지식 센터 : https://youtube.com/playlist?list=PLhr1KZpdzukdy7W_CUiyAJZzlnFGiz9VJ&feature=shared
chhanz's profile imagechhanz
2023-09-27
-
[Linux] userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms 오류 해결 방법 주로 구버전의 운영체제 혹은 구버전의 SSH client 에서 최신 버전의 운영체제로 접속 할 때, 위와 같은 에러를 /var/log/secure 에서 확인 할 수 있습니다. (예 /> Ubuntu 14.04 에서 Amazon Linux 2023 접속 할 때 등) /var/log/secure 로그 내용은 아래와 같습니다. (운영체제 마다 로그 위치는 차이가 있습니다.) Jul 26 05:20:18 ip-172-31-35-0 sshd[7154]: userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth] Jul 26 05:20:18 ip-172-31-35-0 sshd[7154]: Connection...
chhanz's profile imagechhanz
2023-09-03
-
[Linux] systemd-networkd DEBUG mode 활성화
Enable DEBUG mode on systemd-networkd systemd-networkd 를 사용하는 Ubuntu, Amazon Linux 2023 과 같은 운영체제에서 systemd-networkd의 Debug mode 를 활성화하여 조금 더 자세한 로그를 살펴 볼 수 있습니다. How to 아래와 같이 systemd override directory 를 생성합니다. $ sudo mkdir -p /etc/systemd/system/systemd-networkd.service.d/ 해당 경로에 /etc/systemd/system/systemd-networkd.service.d/10-debug-mode.conf 라는 설정 파일을 생성하고 아래 내용을 입력합니다. $ sudo vi /etc/systemd/system/systemd-networkd.service.d/10-debug-mode.conf [Service] Environment=SYSTEMD_LOG_LEVEL=debug systemd-networkd 를 재시작합니다. $ sudo systemctl daemon-reload $ sudo systemctl restart systemd-networkd Debug 모드로 로그가 생성되는지 확인합니다....
chhanz's profile imagechhanz
2023-08-31
-
[Amazon Linux 2023] Certbot 을 이용하여 nginx 에 HTTPS 적용
Certbot 이란? Certbot은 무료로 TLS 인증서를 발급해주는 비영리기관인 Let’s encrypt 를 이용해서 TLS 인증서를 발급, 갱신할 수 있게 도와주는 오픈 소스 프로그램입니다. 테스트 환경 Amazon Linux 2023 에서 HTTP (80) 으로 운영중인 Nginx 에 HTTPS (443) 을 적용하도록 하겠습니다. Nginx 설정 Nginx 의 설정은 아래 설정만 반영된 기본적은 설정입니다. # cat /etc/nginx/nginx.conf ... server { listen 80; listen [::]:80; server_name test.chhanz.xyz; root /usr/share/nginx/html; ... Certbot 설치 Amazon Linux 2023 에서는 따로 rpm package 를 미제공하고...
chhanz's profile imagechhanz
2023-07-09
-
[Ubuntu] Ubuntu 18.04 LTS Enable ESM
ESM 이란? ESM(Extended security maintenance)는 Ubuntu LTS 릴리즈의 보안 유지관리의 범위 및 기간을 기본 5년 지원에 추가로 5년 확장 지원하는 서비스 팩입니다. Ubuntu 18.04 EOL Ubuntu 18.04 LTS(Bionic)는 2023년 5월 31일부로 지원 종료로 인해 ESM 활성화를 해야 최신 보안 패치 유지가 가능합니다. ESM 활성화 - 개인 사용자 Ubuntu One 에 가입을 하면 개인 사용자의 경우, 최대 5대 활성화가 가능한 ESM 토큰을 발급 받습니다. 위와 같이 사전에 생성되어 있는 명령어를 이용하여 Ubuntu 운영체제에 입력합니다. (optional) pro...
chhanz's profile imagechhanz
2023-06-12
-
[Amazon Linux 2023] crontab: command not found
, #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' 간단 메모 요즘은 Amazon Linux 2023 을 써보면서, 기존 Amazon Linux 2 와 다른 부분에 대해 알아가보고 있습니다. EC2 Image Builder 를 통해, AMI 빌드 및 테스트를 수행하다가 crontab 명령이 수행이 안되서 빌드에 실패하는 현상이 발생하여 이 이슈에 대해 자세히 살펴보았습니다. [ec2-user@ip-172-31-39-169 ~]$ cat /etc/os-release NAME="Amazon Linux" VERSION="2023" ID="amzn" ID_LIKE="fedora"...
chhanz's profile imagechhanz
2023-05-15
-
[Amazon Linux 2] docker buildx 사용법
Buildx ? Buildx 는 멀티 플랫폼 용으로 빌드하는 기능 등을 포함하는 CLI 확장 플러그인으로 19.03 버전 부터 사용할 수 있습니다. Buildx on Amazon Linux 2 CentOS (RHEL 계열) 및 Ubuntu 의 배포판에서는 docker-buildx-plugin 패키지를 설치하면 Buildx 플러그인이 활성화 되는 방식입니다. Amazon Linux 2 의 경우, docker 만 설치하면 따로 추가 패키지 설치 없이 플러그인이 활성화 되어있습니다. Install docker on Amazon Linux 2 아래 명령어를 통해 docker 설치가 가능합니다. $ sudo amazon-linux-extras install -y docker $...
chhanz's profile imagechhanz
2023-04-24
-
[Amazon Linux] ec2rl 사용법 (EC2 Rescue for Linux)
EC2 Rescue for Linux 사용법 ec2rl 이란?, Amazon Linux 의 sosreport 와 같은 인스턴스 정보 수집 및 문제 해결 도구입니다. 설치 해당 문서(AWS Docs) 에서 설치 방법을 확인하거나 아래 Git Repository 에서 Download 합니다. $ sudo curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 7497k 100 7497k 0 0 2300k 0 0:00:03 0:00:03 --:--:-- 2299k 수집 사용법은 RHEL 의 sosreport 와...
chhanz's profile imagechhanz
2023-03-22
-
[Ubuntu] Default boot kernel 변경 방법 (use rescue node)
Ubuntu - Default boot kernel 변경 방법 Ubuntu 인스턴스에서 특정 커널 버전이 이슈가 있어서 이전에 사용하던 커널 버전으로 변경이 필요한 경우엔 아래와 같은 방법을 통해 Default Boot Kerenl 을 변경 할 수 있습니다. 참고 : 해당 과정은 인스턴스가 시작이 안될때, 복구 인스턴스를 이용하여 복구하는 방법이고 인스턴스가 동작한다면 후반부의 Boot Kernel 확인, Update Grub 만 적용하면 된다. Workaround 복구 인스턴스에 문제가 되는 인스턴스의 Root Volume 을 Attach 합니다. $ sudo lsblk NAME MAJ:MIN RM SIZE RO...
chhanz's profile imagechhanz
2023-02-24
-
[CloudWatch] collectd: Available write targets:: [none]
CloudWatch collectd 구성 (문서)를 테스트하는 도중 아래와 같은 메시지가 대량으로 발생됨. abc de 12:34:56 ip-172-31-11-123 collectd[13944]: Available write targets:: [none] abc de 12:34:56 ip-172-31-11-123 collectd[13944]: Available write targets:: [none] abc de 12:34:56 ip-172-31-11-123 collectd[13944]: Available write targets:: [none] abc de 12:34:56 ip-172-31-11-123 collectd[13944]: Available write targets:: [none] abc de 12:34:56 ip-172-31-11-123 collectd[13944]: Available write targets:: [none] 찾아보니 syslog 의 LogLevel 을 수정하면 위 로그를 제외시키고 필수적인 로그만 수집이 가능하다. $ sudo vi /etc/collectd.d/loglvl.conf <Plugin syslog>...
chhanz's profile imagechhanz
2023-01-16
-
[Linux] noVNC 구성 with python3
noVNC with python2 https://chhanz.github.io/linux/2019/12/13/linux-configure-novnc/ noVNC 구성 기존에 python2 기반(centos 7)으로 작성되있는 문서에 python3(rhel 8)으로 변경된 부분 업데이트 작성한 문서입니다. noVNC 란? noVNC는 HTML VNC 클라이언트 프로그램입니다. noVNC 구성 TEST ENV : AWS EC2 RHEL 8.6 install requirement package $ sudo dnf -y groupinstall GNOME $ sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm install noVNC package $ sudo dnf -y install novnc python3-websockify python3-numpy tigervnc-server start service vncserver $ vncserver :1 vncserver 가 시작되면 vnc 접속용 password 입력을...
chhanz's profile imagechhanz
2022-12-19
-
[Linux] Note tail/tailf
intro 이번 포스트는 간단한 메모 형식으로 작성하고 작성하게된 계기는 안좋은 옛날 습관이 얼마나 무서운가를 남기기 위해 작성하였다. Where is my tailf….? 기존에 UNIX engineer 시절 때는 tail 명령으로 -f 옵션을 이용하여 로그를 모니터링을 하였다. 하지만 어느 날 Linux engineer 를 하면서 tailf 라는 명령어를 알게 되면서 tail 을 안쓰는 이상한 습관이 생겨버렸다. tailf 는 util-linux Package 에 포함되어 있다가 2017 년도에 제거된 명령어인 것으로 보인다. (https://www.spinics.net/lists/util-linux-ng/msg13779.html) 그런데 나는 아직까지 사용을 했었다. 키보드 3회를 더 누르는게...
chhanz's profile imagechhanz
2022-11-11
-
[Linux] Amazon Linux 2 systemd editor 변경
intro 요즘 Amazon Linux 2 (ec2) 를 사용하면서 개인적으로 불편한 점을 발견하여 아래와 같이 기록한다. systemctl edit 제목과 같이 systemctl edit 명령을 통해 systemd 의 override.conf 를 수정 할 수 있는데 Amazon Linux 2 에서는 계속 nano Editor 로 해당 editor 가 작동하는 불편함이 있었다. OS 전체의 Editor 가 nano 로 설정된 것은 아니다. crontab -e 는 vi 로 열린다. Configuration 아래 명령어를 통해 Environment 를 추가하면 systemd Editor 를 변경 할 수 있다. $...
chhanz's profile imagechhanz
2022-11-10
-
[OCP] [Preview] Microshift (Lightweight Openshift)
Microshift 란? Kubecon 2022 에서 Redhat 이 발표한 Lightweight Kubernetes Solution 입니다. (https://www.redhat.com/en/about/press-releases/red-hat-introduces-lightweight-kubernetes-solution-power-next-evolution-open-edge-computing) k3s 와 같은 느낌의 Solution 으로 예상이 되어 한번 설치하여 테스트하고 설치 과정중 이슈가 있던 부분에 대해 기록해보도록 하겠습니다. 설치 먼저 이번 테스트 환경은 CentOS 8 Stream 에서 진행하였습니다. $ cat /etc/redhat-release CentOS Stream release 8 CRI-O 설치 공식 문서에선 cri-o 1.21 version 을 설치하는 가이드가 있어서 그대로 진행했으나 진행이 안되었습니다. 마치 cri-o repository 가 등록이 되어 있는 것처럼 되어 있으나 등록이...
chhanz's profile imagechhanz
2022-11-02
-
[Docker] Docker Completion 설정
Docker Completion 설정 (자동 완성) 최근 Podman 만 사용하다가 오랜만에 Docker 를 설치하면서 변경된 부분이 있는데 따로 공식 문서나 자료가 없어서 관련하여 작성해본다. 변경된 이유 Docker CE (https://github.com/docker/docker-ce) ⚠️ This repository is now deprecated and will be archived (Docker CE itself is NOT deprecated) ⚠️ Starting with the Docker 20.10 release, packages for the Docker Engine and Docker CLI are built directly from their respective source repositories instead of from this repository. 기존에 사용중이던 docker-ce...
chhanz's profile imagechhanz
2022-10-27
-
[Linux] Udev Rule 사용법
udevadm, udev/rules.d Udev 란 Udev 는 리눅스 커널을 위한 장치 관리자이다. devfsd와 hotplug를 계승하는 udev는 주로 /dev 디렉터리의 장치 노드를 관리한다. CentOS/RHEL/OL/Rocky 에서 systemd-udevd daemon 으로 동작된다. 장치 정보 상세 보기 Udev Rule 을 사용하기 위해선 udevadm 명령을 통해 장치의 상세 정보를 확인해야된다. 아래는 장치의 기본 정보를 확인하는 방법이다. # udevadm info /dev/sdb P: /devices/pci0000:80/0000:80:08.3/0000:83:00.0/ata2/host1/target1:0:0/1:0:0:0/block/sdb N: sdb S: disk/by-id/ata-Samsung_SSD_860_PRO_2TB_S5Gqwerasdfzxfc S: disk/by-id/wwn-0x500123456789012 S: disk/by-path/pci-0000:83:00.0-ata-2.0 E: DEVLINKS=/dev/disk/by-id/ata-Samsung_SSD_860_PRO_2TB_S5Gqwerasdfzxfc /dev/disk/by-id/wwn-0x500123456789012 /dev/disk/by-path/pci-0000:83:00.0-ata-2.0 E: DEVNAME=/dev/sdb E: DEVPATH=/devices/pci0000:80/0000:80:08.3/0000:83:00.0/ata2/host1/target1:0:0/1:0:0:0/block/sdb E: DEVTYPE=disk ...생략 P 는 DEVPATH,...
chhanz's profile imagechhanz
2022-09-19
-
[SSL] Apache/Nginx/etc 인증서 교체 방법
https SSL 인증서 교체 방법 Apache 교체 Apache 의 경우, <VirtualHost *:443> ServerName "지정한 서버인증서에 포함(지원)된 도메인" SSLEngine on SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 (서버 환경에 따라서 선택적 적용) SSLCertificateKeyFile /인증서파일경로/개인키 ex. sslcert.co.kr_xxxxx.key.pem SSLCertificateFile /인증서파일경로/서버인증서 ex. sslcert.co.kr_xxxxx.crt.pem SSLCertificateChainFile /인증서파일경로/체인인증서ex. chain-bundle.pem SSLCACertificateFile /인증서파일경로/루트인증서 ex. AAACertificateServices.Root.crt.pem </VirtualHost> 위와 같이 SLCertificateKeyFile, SSLCertificateFile, SSLCertificateChainFile, SSLCACertificateFile option 이 별도로 분리되어 있습니다. 각각 option 형식에 맞는 SSL 인증서의 경로를 입력하고 Apache 를 재시작 합니다. 설정 파일 참고 (https://www.sslcert.co.kr/guides/Apache-SSL-Certificate-Install) Nginx 교체 Nginx 의...
chhanz's profile imagechhanz
2022-08-24
-
[Kubernetes] SOPS(Secrets OPerationS) Guide
Kubernetes Secret/ConfigMap 암호화 SOPS(Secrets OPerationS) 란? sops 는 YAML, JSON, ENV, INI, BINARY 형식의 파일 암호화를 지원하고 AWS KMS, GCP KMS, Azure Key Vault, age 등을 이용하여 암호화하는 파일 편집기 입니다. vs kubeseal GitOps 를 하다보면 Secret 혹은 API Token, Key 등을 git repository 에 실수로 Push 하여 침해 사고를 겪는 경우가 많이 발생 됩니다. 그리하여 kubeseal 이라는 Sealed Secret 도구를 이용하여 ConfigMap 혹은 Secret 을 Sealed 하여 Git 에 Push 하는 방식을 선택하기도 합니다. kubeseal 도 보안을...
chhanz's profile imagechhanz
2022-08-17
-
[Ubuntu] Ubuntu 22.04 Ring Buffer 설정 방법
Temporary settings 아래와 같이 ethtool 명령을 통해 online 중에 변경이 가능하다. 주의) 변경되는 Interface 의 Link UP/DOWN 이 발생한다. $ sudo ethtool -G eth0 rx 4096 tx 4096 $ sudo ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: n/a RX Jumbo: n/a TX: 4096 Current hardware settings: RX: 4096 RX Mini: n/a RX Jumbo: n/a TX: 4096 Permanently settings 주로 CentOS 와 같은 RHEL 계열은 network-script 에 ETHTOOL_OPTS 을 사용하거나...
chhanz's profile imagechhanz
2022-08-10
-
[Prometheus] Pacemaker Exporter 사용기
Pacemaker Exporter 사용기 Pacemaker (이하 pcs) Exporter 를 사용해보고 실제 pcs cluster 를 어떻게 모니터링 하는지 확인해보자. pcs exporter 설치 아래 명령을 통해 설치가 가능하다. [root@c-node-4 ~]# wget https://github.com/ClusterLabs/ha_cluster_exporter/releases/download/1.3.0/ha_cluster_exporter-amd64.gz [root@c-node-4 ~]# gzip -d ha_cluster_exporter-amd64.gz [root@c-node-4 ~]# chmod u+x ha_cluster_exporter-amd64 pcs cluster node 에 해당 exporter 를 설치한다. pcs exporter option pcs exporter 의 option 은 아래와 같다. [root@c-node-4 ~]# ./ha_cluster_exporter-amd64 --help usage: ha_cluster_exporter-amd64 [<flags>] Flags: -h, --help Show context-sensitive help (also try --help-long and --help-man)....
chhanz's profile imagechhanz
2022-08-07
-
[Ubuntu] Ubuntu 22.04 needrestart 설정
What? Ubuntu 22.04 를 사용하는 어느 날 apt 를 사용하여 package 설치간 아래와 같은 log 가 나왔다. $ sudo apt install xxx ...생략 Scanning processor microcode... Scanning linux images... Running kernel seems to be up-to-date. The processor microcode seems to be up-to-date. No services need to be restarted. No containers need to be restarted. No user sessions are running outdated binaries. No VM guests are running outdated hypervisor (qemu) binaries on this host 무슨 의미와...
chhanz's profile imagechhanz
2022-08-01
-
[Linux] dig command 사용법
DNS 질의 매번 잊어버려서 따로 정리함. 자주 활용되는 것만 정리. dig command 란? dig 는 도메인 네임 시스템 네임서버에 질의하기 위한 네트워크 관리 명령 줄 인터페이스 도구 입니다. Domain 의 IP 확인 Domain 에 연결된 IP 를 확인하는 방법입니다. chhan@chhanPC:~$ dig chhanz.mooo.com ; <<>> DiG 9.16.1-Ubuntu <<>> chhanz.mooo.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31021 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;;...
chhanz's profile imagechhanz
2022-07-25
-
[Ubuntu] Ubuntu 22.04 PXE Boot Server 구성
isc-dhcp-server, tftpd-hpa, apache2 Ubuntu 22.04 PXE Boot Server 구성 PXE Boot 를 구성하기 위해서는 3가지 요소가 필요하다. httpd : ISO 배포를 위함. tftpd : bootloader 배포를 위함. dhcpd : PXE Boot 간 IP 를 임대하기 위함. httpd 구성 apache2 를 이용하여 구성합니다. (nginx 와 같은 기타 다른 WEB Application 을 이용해도 무방합니다.) Install apache2 아래 명령을 이용하여 설치를 진행합니다. $ sudo apt install -y apache2 Ubuntu ISO 를 Web 서버의 DocumentRoot 에 추가합니다. $ cd /var/www/html/ $ sudo...
chhanz's profile imagechhanz
2022-07-07
-
[Linux] Package 에 포함된 file 목록 확인
Ubuntu/CentOS/Rocky/RHEL Package 에 포함된 file 목록 확인 특정 Package 에 포함된 File 이 무엇인지 확인하기 위해선 아래와 같이 Linux 에 따라 확인이 가능합니다. CentOS / RHEL / Rocky 계열 rpm 명령을 통해 확인합니다. $ rpm -ql epel-release-7-11.noarch /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel.repo /usr/lib/systemd/system-preset/90-epel.preset /usr/share/doc/epel-release-7 /usr/share/doc/epel-release-7/GPL 위와 같이 epel-release package 에 포함된 파일을 확인 할 수 있습니다. Ubuntu 계열 dpkg 명령을 통해 확인합니다. $ dpkg -L tmux /. /usr /usr/bin /usr/bin/tmux /usr/share /usr/share/doc /usr/share/doc/tmux /usr/share/doc/tmux/NEWS.Debian.gz /usr/share/doc/tmux/README /usr/share/doc/tmux/changelog.Debian.gz /usr/share/doc/tmux/copyright /usr/share/doc/tmux/example_tmux.conf...
chhanz's profile imagechhanz
2022-07-04
-
[Kubernetes] Cloud Native PostgreSQL Operator (CloudNativePG)
Cloud Native PostgreSQL Operator (CloudNativePG) Cloud Native PostgreSQL Operator (이하 CloudNativePG) 란? 모든 Kubernetes Cluster 에서 PostgreSQL Workload 를 관리하도록 설계된 Operator 입니다. 기본적으로 Primary/Standby 구조, Native Streaming Replication 사용하는 PostgreSQL Database Cluster 생성/관리 됩니다. Install CloudNativePG Manifest 를 이용한 설치 (공식 문서) 는 아래와 같은 방법으로 진행합니다. kubectl apply -f \ https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg/main/releases/cnpg-1.15.1.yaml 관련하여 Helm Chart 로도 관리가 가능하도록 Chart 를 제공하고 있습니다. 이번 포스팅에선 Helm Chart 를 이용한 설치에 대한 내용을 담도록 하겠습니다. (☁...
chhanz's profile imagechhanz
2022-06-23
-
[Kubernetes] MySQL Operator
MySQL Operator MySQL Operator 는 MySQL 서버 및 MySQL 라우터 그룹으로 구성된 하나 이상의 MySQL InnoDB 클러스터 관리에 중점을 둔 Operator 입니다. MySQL Operator 자체는 Kubernetes 클러스터에서 실행되며 MySQL Operator 를 통해 계속 사용 가능하고 실행 중인지 확인하는 역할을 합니다. Operator 배포 Helm 을 이용하여 MySQL Operator 를 배포 하겠습니다. (☁ |DOIK-Lab:default) root@chhan-k8s-1:~# helm repo add mysql-operator https://mysql.github.io/mysql-operator/ "mysql-operator" has been added to your repositories (☁ |DOIK-Lab:default) root@chhan-k8s-1:~# helm repo update Hang tight while we...
chhanz's profile imagechhanz
2022-06-09
-
[Kubernetes] Statefulset 와 Headless Service
목차 Statefuleset 이란? Test Run Statefuleset Headless Service 참고 자료 Statefuleset 이란? Statefulset 은 deployment 와 유사하게 container spec 기반으로 pod 를 관리하는 resource 이다. Statefulset 는 아래와 같은 환경을 요구하는 어플리케이션에서 유용하게 사용 할 수 있다. 안정된, 고유한 네트워크 식별자. 안정된, 지속성을 갖는 스토리지. 순차적인, 정상 배포(graceful deployment)와 스케일링. 순차적인, 자동 롤링 업데이트. Test 아래 yaml 을 이용하여 Statefulset 을 만들었다. 사용된 어플리케이션은 Flask 이며, App 이 기동될 때 Pod 정보를 PV 에 기록하는...
chhanz's profile imagechhanz
2022-05-25
-
[Kubernetes] OpenStack Instance 에서 Cailco CNI 로 Kubernetes 구성
목차 Intro Issue Root Cause Finish 참고 자료 Intro 최근 Kubernetes 에서 데이터베이스 오퍼레이터를 이용하여 데이터베이스 배포 및 운영을 스터디하는 그룹에 참여하게 되었습니다. (https://gasidaseo.notion.site/e49b329c833143d4a3b9715d75b5078d) 위와 같은 스터디를 진행하기위해 Kubernetes Cluster 를 생성하는데 kubeadm 으로 Kubernetes 를 배포하면 되는 쉬운 환경이라 큰 걱정 없이 환경 구축을 시작했습니다. 대부분의 스터디맴버의 환경은 AWS 이고 나의 환경은 OpenStack 이며, 나는 Public Cloud 를 사용 할 이유가 없었다. 하지만 스터디맴버들과 다른 나의 환경이 문제가 되었습니다.ㅎㅎㅎ Issue kubeadm 을 이용하여 Master...
chhanz's profile imagechhanz
2022-05-25
-
[Ubuntu] unattended-upgrades 설정 (자동 업데이트)
Ubuntu 22.04 unattended-upgrades 란? unattended-upgrades 는 Ubuntu system 의 최신 보안 패치 및 기타 업데이트를 자동으로 수행하고 시스템을 유지, 관리 하는 것에 목적이 있는 서비스 입니다. 설치 Ubuntu 를 설치하면 기본적으로 해당 서비스는 설치되어 작동하고 있습니다. 만약 설치가 안되어 있다면 아래와 같이 설치를 진행합니다. $ sudo apt install unattended-upgrades -y 구동중인 daemon 정보는 아래와 같습니다. $ sudo systemctl status unattended-upgrades ● unattended-upgrades.service - Unattended Upgrades Shutdown Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; vendor preset: enabled) Active: active (running) since...
chhanz's profile imagechhanz
2022-05-11
-
[Ubuntu] Local mirror site 구성(DVD/Repository sync)
Ubuntu 22.04 목차 overview DVD 사용 Mount DVD sources.list 추가 Repository 추가 Sync Repository apt-mirror 설치 mirror.list 수정 Sync Repository Check Sync mirror data location Mirror site 운영 Mirror site 추가 APT update overview 이번 포스팅은 DVD 를 활용하여 인터넷이 안되는 환경에서 Ubuntu package 를 다루는 방법과 외부 환경이 아닌 내부에 Repository mirror site 를 구성하는 방법에 대해 알아보도록 하겠습니다. DVD 사용 주로 인터넷이 안되는 망분리 된 곳에서 많이 활용될 방식입니다. Mount DVD 아래 명령어를 통해 DVD...
chhanz's profile imagechhanz
2022-05-09
-
[Ubuntu] APT Repository 사용법
Ubuntu 22.04 Ubuntu 22.04 - APT Repository 사용법 Repository Component 종류 Ubuntu 에서 사용되는 Repository Component 는 아래와 같습니다. Main : Ubuntu 무료 및 오픈소스 소프트웨어 Universe : Linux 커뮤니티의 무료 및 오픈소스 소프트웨어 Restricted : Vender 장치 드라이버 및 소프트웨어 Multiverse : 법적 제한(저작권 등)이 있는 소프트웨어 Default Repository Ubuntu 가 설치되면 기본적으로 아래와 같이 /etc/apt/sources.list 파일로 Repository 가 관리됩니다. root@u-node-1:/etc/apt/sources.list.d# cat /etc/apt/sources.list | egrep -v "#|^$" deb http://archive.ubuntu.com/ubuntu jammy main restricted deb http://archive.ubuntu.com/ubuntu jammy-updates main...
chhanz's profile imagechhanz
2022-05-09
-
[Ubuntu] apt-mirror 를 이용하여 sync 후, apt-get error 발생
Ubuntu 22.04 apt-mirror 를 이용하여 sync 후, apt-get error 발생 apt-mirror 를 이용하여 Repository 를 sync 하고 아래와 같은 에러가 발생했습니다. ... 생략 Ign:22 http://localhost:8000/ubuntu jammy/multiverse amd64 c-n-f Metadata Err:7 http://localhost:8000/ubuntu jammy/main amd64 c-n-f Metadata 404 File not found [IP: 127.0.0.1 8000] <<< Ign:10 http://localhost:8000/ubuntu jammy/restricted amd64 c-n-f Metadata Ign:16 http://localhost:8000/ubuntu jammy/universe amd64 c-n-f Metadata Ign:22 http://localhost:8000/ubuntu jammy/multiverse amd64 c-n-f Metadata Fetched 38.0 MB in 0s (128 MB/s) Reading package lists... Done E: Failed to fetch http://localhost:8000/ubuntu/dists/jammy/main/cnf/Commands-amd64...
chhanz's profile imagechhanz
2022-05-09
-
[Ubuntu] NTP Service
Ubuntu 20.04 Ubuntu 20.04 NTP Service Ubuntu Server Version 을 설치하게 되면 기본적으로 NTP 서비스를 활성화가 되어있습니다. root@u-node-0:/etc/systemd# timedatectl -a Local time: Thu 2022-04-28 11:14:26 KST Universal time: Thu 2022-04-28 02:14:26 UTC RTC time: Thu 2022-04-28 02:14:27 Time zone: Asia/Seoul (KST, +0900) System clock synchronized: yes << NTP service: active RTC in local TZ: no RHEL 계열의 ntpd 혹은 chronyd 가 자동으로 설치가 되어서 그런건가? Ubuntu 는 설치가 되면 systemd-timesyncd 라는 daemon 이 기본적으로 NTP 서비스를 수행합니다....
chhanz's profile imagechhanz
2022-05-02
-
[Linux] VirtualBMC 를 이용한 IPMI node 생성
use kvm VirtualBMC 를 이용한 IPMI node 생성 해당 문서는 Libvirt(KVM) 환경에서 각 VM 을 관리하는 IPMI Node 를 생성하는 방법에 대해 설명하고 있습니다. IPMI Node 설정 SSH Key 배포 SSH 를 이용하여 KVM 에 접근 및 통제를 하기 위해 SSH KEY Password 배포를 진행합니다. [root@ipmi-node ~]# ssh-copy-id root@kvm Python-pip 설치 아래와 같은 방법으로 pip 을 설치합니다. [root@ipmi-node ~]# yum -y install python3 python3-pip [root@ipmi-node ~]# pip3 install -U pip VirtualBMC 설치 아래와 같은 방법으로 vBMC 를...
chhanz's profile imagechhanz
2022-04-14
-
[Linux] ipmitool 사용법
매번 잊어버려서 따로 정리함. ipmitool 설치 아래 명령을 통해 ipmitool 명령을 설치 할 수 있다. RHEL/CentOS/Rocky 계열 $ sudo yum install ipmitool or $ sudo dnf install ipmitool Ubuntu $ sudo apt install ipmitool IPMI 정보 확인 아래 명령을 통해 IPMI 정보를 확인 할 수 있다. $ ipmitool lan print [<channel num>] Set in Progress : Set Complete Auth Type Support : NONE MD5 PASSWORD Auth Type Enable : Callback : MD5 PASSWORD : User...
chhanz's profile imagechhanz
2022-03-01
-
[Linux] njmon with Prometheus
njmon, telegraf, Prometheus, Grafana 목차 Njmon 란? Architecture Telegraf config Njmon config Prometheus config Grafana Dashboard 참고 자료 Njmon 이란? njmon 는 nmon 과 비슷하지만 더 많은 성능 및 구성 데이터를 수집하고 JSON 형식으로 출력하고 해당 데이터를 데이터베이스(if. InfluxDB, Prometheus)에 입력하는 기능을 수행합니다. 주로 nmon 에 익숙하여 다른 Metric 을 사용하기 힘들거나, Exporter 를 설치하는데 어려움이 있는 CASE 에서 사용하기 좋은 Tool 일 것 같습니다. Architecture 위와 같은 구조로 njmon 데이터를 수집 받고 Telegarf 가 마치 Node Exporter 처럼...
chhanz's profile imagechhanz
2022-02-18
-
[Linux] CentOS 8: Failed to download metadata for repo 'appstream'
EOS CentOS 8 EOS CentOS 8 CentOS 8 은 December 31, 2021 부로 EOS 되었습니다. 지속적인 사용을 위해서는 CentOS 8 Stream 으로 배포판 변경을 해야지 지속적인 지원을 받을 수 있습니다. Error dnf Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist 메시지가 나오면서 dnf 가 수행이 안되는 것을 확인 할 수 있습니다. [root@chhan-c8 ~]# dnf repolist CentOS Linux 8 - AppStream 87 B/s | 38 B 00:00 Error: Failed to download...
chhanz's profile imagechhanz
2022-02-04
-
[Ventoy] ISO 를 바로 사용하는 OS Install Boot Device 생성
Alternative to the IODD Intro 시스템 장애로 인해 OS 를 재설치 해야되는 경우가 생겼다. 시스템팀에서 OS 재설치를 해야되는데 DVD 도 없고 USB 이미지도 없었다. 급하게 설치를 해야되서 내가 가지고 있는 IODD 를 이용하여 OS 설치를 하게 되었다. Ventoy 무료로 IODD 와 같이 사용 할 수 있는 것이 있나 찾다가 발견된 것은 Ventoy 이다. 따로 Boot device 로 생성안하고 바로 ISO 이미지를 넣어서 OS Install Device 로 사용이 가능하다. Ventoy 설치 (for Linux) Ubuntu 시스템에서 Ventoy device 설치를 해본다. root@u-node-1:~/ventoy#...
chhanz's profile imagechhanz
2022-02-03
-
[OpenStack] [Preview] OpenStack Dashboard - Skyline
흥미 최근 OpenStack 커뮤니티 그룹에서 올라온 글을 보고 기존에 Horizon 의 약한 부분에 대해 매우 아쉬움을 가지고 있던 저는 매우 흥미를 느끼며 이 포스팅을 작성하게 되었습니다. 흥미로운 소식 : https://www.facebook.com/photo/?fbid=10166019386805577&set=gm.5334637036550404 Preview 이 흥미로운 Project 는 Skyline 이라는 이름의 새로운 OpenStack Dashboard Project 입니다. (https://wiki.openstack.org/wiki/Skyline#Description) Install 테스트에 활용된 OpenStack 환경은 아래와 같습니다. * OpenStack wallaby (all-in-one version) [deploy tool `kolla-ansible`] * ubuntu 20.04 Skyline 에서 사용될 User 를 생성합니다. (osp) root@u-node-1:/etc/kolla# openstack user create --domain default...
chhanz's profile imagechhanz
2022-01-17
-
[Kubernetes] Kustomize
목차 Kustomize 란? Kustomize 설치 Completion 설정 Kustomize 기본 Kustomize build Run kustomize resources 추가 patch prefix/label secretGenerator 이용 overlay 적용 참고 자료 Kustomize 란? Kustomize는 쿠버네티스 구성을 사용자 정의화하는 도구이다. 이는 애플리케이션 구성 파일을 관리하기 위해 다음 기능들을 가진다. 다른 소스에서 리소스 생성 리소스에 대한 교차 편집 필드 설정 리소스 집합을 구성하고 사용자 정의 (https://kubernetes.io/ko/docs/tasks/manage-kubernetes-objects/kustomization/#kustomize-%EA%B0%9C%EC%9A%94 발췌) 개인적으론 Helm 보다 Kustomize 가 사용하기 좋았다. Kustomize 설치 아래 명령어를 통해 OS 에 맞게 자동으로 설치 진행된다....
chhanz's profile imagechhanz
2021-12-01
-
[Kubernetes] HTTPS ingress 적용 (use prometheus)
HTTPS ingress 적용 이전에 배포한 kube-prometheus 의 ingress 를 TLS 적용하여 HTTPS 로 서비스 해보도록 하겠습니다. TLS 방식 Kubernetes 에서 사용이 가능한 TLS 방식은 아래와 같습니다. 아래 내용은 OpenShift 기준으로 작성된 내용이지만 이해하기 좋아서 첨부합니다. 이미지의 Router 는 Kubernetes 의 Ingress 와 동일하다고 보면 됩니다. Clear 방식 (clear to clear) : 일반적인 HTTP 서비스 Edge 방식 (TLS to clear) : client 와 ingress 구간을 TLS 암호화하는 방식 Re-encrypt 방식 (TLS1 to TLS2) : ingress 기점으로...
chhanz's profile imagechhanz
2021-11-08
-
[OpenStack] kolla-ansible 을 이용하여 OpenStack multinode 배포 (wallaby)
kolla-ansible 이란? Kolla-Ansible 은 Docker 컨테이너에 OpenStack 서비스 및 인프라 구성 요소를 배포하는 Tool 이며, OpenStack 클라우드 운영을 위한 프로덕션 준비 컨테이너 및 배포 도구를 제공합니다. deploy openstack venv 환경 설정 python venv 환경을 아래와 같이 생성합니다. root@u-node-0:~# python3 -m venv osp root@u-node-0:~# . osp/bin/activate requirement module 설치 (osp) root@u-node-0:~# pip install -U pip (osp) root@u-node-0:~# pip install 'ansible<3.0' kolla-ansible 설치 (osp) root@u-node-0:~# pip install kolla-ansible kolla-ansible config 아래와 같이 config 및 inventory template 를...
chhanz's profile imagechhanz
2021-10-22
-
[OpenStack] kolla-build 를 이용한 kolla image build (wallaby)
Registry kolla-build 를 통해 생성한 이미지를 저장할 사설 Registry 를 만든다. deploy registry 아래와 같이 배포 진행한다. (osp) root@u-node-0:/etc/kolla# docker run -d -p 4000:5000 --name registry -v /etc/kolla/build:/var/lib/registry registry:2 아래와 같이 insecure-registries 를 설정한다. 추가로 kolla-image 를 pull 받을 node 들도 동일하게 설정을 한다. (osp) root@u-node-0:/etc/docker# cat /etc/docker/daemon.json { "insecure-registries" : ["10.10.10.10:4000"] } (osp) root@u-node-0:/etc/docker# Install kolla-build kolla-build 를 사용하기 위해 아래와 같이 pip module 을 설치합니다. (osp) root@u-node-0:/etc/kolla# pip install kollaCollecting kolla Downloading kolla-12.0.1-py3-none-any.whl...
chhanz's profile imagechhanz
2021-10-21
-
[Kubernetes] kube-prometheus 배포 (use storageclass)
kube-prometheus 배포 Kubernetes cluster 를 모니터링 하기 위해 Prometheus 를 구성하고 사용하려고 한다. Prometheus 에는 다양한 배포 방법이 있으나 이번 글에선 kube-prometheus 를 이용하여 Kubernetes Cluster 에 배포 해보도록 한다. Kubernetes Cluster 정보 사용된 Kubernetes Cluster 환경은 아래와 같습니다. root@node1:~# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME node1 Ready control-plane,master 41d v1.20.7 192.168.200.26 <none> Ubuntu 20.04.2 LTS 5.4.0-80-generic cri-o://1.20.3 node2 Ready control-plane,master 41d v1.20.7 192.168.200.81 <none> Ubuntu...
chhanz's profile imagechhanz
2021-09-30
-
[CEPH] Ceph Architecture
Ceph 란? Ceph는 오픈소스 소프트웨어(Software Defined Storage) 스토리지 플랫폼으로 단일 분산 컴퓨터 클러스터에 object 스토리지를 구현하고 object, block 및 file Level 의 스토리지 기능을 제공한다. 또한 single point of failure 이 없는 완전히 분산된 운영을 주로 목표로 하며 엑사바이트 수준으로 scale-out이 가능하다. 소프트웨어 정의 스토리지(Software Defined Storage)를 선택해야 하는 이유 소프트웨어 정의 스토리지의 주요 이점은 다음과 같다. 비용 대비 성능 절충 : 애플리케이션이 동일한 소프트웨어 스택을 사용하여 서로 다른 하드웨어 및 내구성 구성의 성능 및...
chhanz's profile imagechhanz
2021-08-18
-
[Linux] authselect 을 이용하여 faillock module 적용
RHEL v8 이후 변경점 RHEL v8 계열(CentOS/Oracle Linux/Rocky Linux) 부터는 이전과 같이 PAM 을 수정하여 설정하는 것을 권장하지 않습니다. [root@chhanz-c8-vm ~]# cat /etc/pam.d/system-auth ... # Generated by authselect on Fri Jul 16 13:13:24 2021 # Do not modify this file manually. <<< ... 추가로 RHEL v8 계열부터는 기존에 사용하던 보안 설정으로 많이 사용 되던 pam_tally2 module 이 deprecated 되었습니다. anthconfig 로 PAM 설정이 가능하였으나, RHEL v8 계열부터 authselect 을 사용하도록 변경 되었습니다. authselect 이란? authselect...
chhanz's profile imagechhanz
2021-07-16
-
[Linux] Yum Group 상세 활용
yum group 관련 명령어 Group Package 를 설치 할 때, 주로 이용하는 명령어 입니다. yum groupinstall , yum groupinfo , yum grouplist 등이 있습니다. 기본 사용법 주로 사용 하는 명령어 몇가지에 대해 알아보자. yum grouplist 해당 명령은 Group Package 목록 및 설치 가능, 설치됨 여부를 확인 할 수 있습니다. [root@fastvm-centos-7-6-30 ~]# yum group list hidden ids ... Available Environment Groups: 최소 설치 (minimal) 계산 노드 (compute-node-environment) 인프라 서버 (infrastructure-server-environment) 파일 및 프린트 서버 (file-print-server-environment) 기본...
chhanz's profile imagechhanz
2021-05-25
-
[Linux] du / ncdu 활용
du 현재 경로의 사용률을 확인 하는 명령입니다. [opc@instance-20201011-1438 TEST]$ tree . ├── big1 │ ├── 1g_bigfiles.img │ ├── 1g_bigfiles1.img │ └── 1g_bigfiles2.img ├── big2 │ └── 1g_bigfiles6.img ├── big3 ├── big4 ├── dummyfile1 ├── dummyfile10 ├── dummyfile2 ├── dummyfile3 ├── dummyfile4 ├── dummyfile5 ├── dummyfile6 ├── dummyfile7 ├── dummyfile8 └── dummyfile9 4 directories, 14 files 위와 같은 구조를 가지고 있는 경로에서 du 명령을 사용할 경우, [opc@instance-20201011-1438 TEST]$ du -h 3.0G ./big1 1.0G ./big2 0 ./big3...
chhanz's profile imagechhanz
2021-05-25
-
[Linux] VDO(Virtual Data Optimizer) 활용
VDO 란? VDO(Virtual Data Optimizer)는 데이터의 중복제거, 압축 등의 기능을 사용해 스토리지의 공간 활용도를 높이는 기술입니다. VDO 활용 위와 같이 다양한 분야에서 사용이 가능합니다. VDO 장단점 장점 : 중복 제거 및 압축 기능을 이용하여 스토리지 공간 활용도가 높아지며, 주로 VM 및 컨테이너 환경에서 높은 효율을 보인다고 합니다. 단점 : 일반적인 스토리지에 비해 성능 저하가 발생합니다. 참고 자료 : https://www.redhat.com/en/blog/look-vdo-new-linux-compression-layer VDO 설치 설치 환경 : CentOS 8.1 아래 명령을 통해 설치를 진행합니다. [root@fastvm-centos-8-1-30 ~]# dnf install...
chhanz's profile imagechhanz
2021-03-31
-
[Ansible] Windows 10 WSL 을 이용하여 Ansible 를 써보자
[Ansible] Windows 10 WSL 을 이용하여 Ansible 를 써보자 MacOS 을 사용하거나 Linux laptop 을 사용하는 분들은 Ansible 을 사용하는 것에 있어 문제가 될 것이 없습니다. OS 내부에 brew 이나 apt , yum 같은 Package manager 가 있고 Command 를 이용 할 수 있기 때문이죠. 그럼 Windows 는 사용이 불가능한 것인가? Windows 에서는 Windows Subsystem for Linux (WSL) 을 이용하여 Command 환경을 구현해주는 기능을 활용하면 사용이 가능합니다. 아래 Link를 통해 상세한 정보를 확인 할 수...
chhanz's profile imagechhanz
2021-02-24
-
[ceph] ceph-ansible 을 이용하여 ceph 배포 (containerized deployment)
[ceph] ceph-ansible 을 이용하여 ceph 배포 ceph-ansible 을 이용하여 ceph 를 배포해보도록 하겠습니다. 아래 환경은 ceph 테스트를 위해 배포하는 환경이며 운영 환경에 적합한 환경은 아닙니다. 테스트 환경 deploy/grafana server : CentOS 7.7 mon/osd #1 : CentOS 7.7 osd : /dev/sdb (100g), /dev/sdc (100g) mon/osd #2 : CentOS 7.7 osd : /dev/sdb (100g), /dev/sdc (100g) mon/osd #3 : CentOS 7.7 osd : /dev/sdb (100g), /dev/sdc (100g) 배포 준비 clone ceph-ansible [root@ceph-deploy ceph-ansible]# git clone https://github.com/ceph/ceph-ansible.git Cloning...
chhanz's profile imagechhanz
2021-02-23
-
[OpenShift] Matchbox 를 이용하여 OpenShift 배포서버 구성
[OpenShift] Matchbox 를 이용하여 OpenShift 배포서버 구성 OpenShift / OKD 4 version 이 되면서 일반 Linux (RHEL/CentOS) 가 아닌 CoreOS (RHCOS/Fedora CoreOS) 를 사용하면서 OpenShift 설치 방법이 많이 달라졌습니다. OpenShift 설치를 위해 ignition, kernel image, initramfs, rootfs 등의 배포 관리가 필요합니다. OpenShift Document 에서는 httpd 및 pxe 를 이용하여 배포를 하도록 하지만 matchbox 를 이용하면 향후 운영에도 편리한 배포가 가능합니다. matchbox 란? matchbox 의 주요 기능은 MAC 주소 기반으로 OpenShift 설치에 필요한 파일을 제공하는 오픈소스...
chhanz's profile imagechhanz
2021-01-26
-
[Ansible] USER/GROUP 생성 Playbook
[Ansible] USER/GROUP 생성 Playbook 잡설 (회고?) 연말과 연초가 너무 바빴습니다. 몸이 바쁘다 보니 글 쓰는게 소홀했습니다. 올해는 바쁘더라도 짧은 내용이라도 더 열심히 글 작성해보겠습니다. Playbook 위에서 말한 것과 같이 작업도 많고 시간은 부족한데 BAU 업무는 여전히 진행 되야 합니다. 이번에 작성한 Playbook 은 다량의 시스템에 USER과 GROUP 을 생성하는 Playbook 을 작성하였습니다. Playbook 을 이용하여 BAU 업무 투자 시간이 채감상 3분의 1로 줄었습니다. Playbook 사용법 Clone Playbook 아래와 같이 Playbook 을 Clone 진행합니다. $ cd...
chhanz's profile imagechhanz
2021-01-18
-
[Linux] `YumRepo Error: All mirror URLs are not using ftp, http[s] or file.`
해결 방법 (CentOS 6) YumRepo Error: All mirror URLs are not using ftp, http[s] or file. 해결 방법 아래와 같이 CentOS 6에서 발생되는 이슈입니다. [root@fastvm-centos-6-10-51 ~]# yum repolist Loaded plugins: fastestmirror Determining fastest mirrors YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/repo/arch combination/ removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/repo/arch combination/ removing mirrorlist with no valid mirrors:...
chhanz's profile imagechhanz
2020-12-10
-
[Linux] haproxy 를 이용한 RoundRobin 구성 (on CentOS7)
haproxy 를 이용한 RoundRobin 구성 (on CentOS7) HAPROXY 를 이용하여 HW L4 를 구현 할 수 있다????? 이번 포스팅에서는 haproxy 의 RoundRobin(rr) 알고리즘을 이용하여 RoundRobin 웹서비스를 구현하도록 하겠습니다. 테스트용 웹 서비스 아래와 같이 각각의 flask app 서비스를 하는 웹 서비스를 테스트에 활용합니다. [root@k3s-10-50-1-70 ~]# kubectl get all NAME READY STATUS RESTARTS AGE pod/pod-test-app-1 1/1 Running 0 2m47s pod/pod-test-app-2 1/1 Running 0 83s pod/pod-test-app-3 1/1 Running 0 69s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP...
chhanz's profile imagechhanz
2020-11-30
-
[Linux] DHCP 서버 구성 (on CentOS7)
DHCP 란? 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP)은 호스트 IP 구성 관리를 단순화하는 IP 표준이다. 동적 호스트 구성 프로토콜 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련된 기타 구성 세부 정보를 네트워크의 DHCP 사용 클라이언트에게 동적으로 할당하는 방법을 제공한다. 참고 : 위키백과 - DHCP DHCP 동작 원리 아래 내용을 보면 DHCP 의 동작 원리를 쉽게 이해 할 수 있습니다. 출처 : https://www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation-network-protocol/understanding-the-basic-operations-of-dhcp DHCP 설치 아래 커멘드를 통해 Package 를 설치합니다. $ sudo yum...
chhanz's profile imagechhanz
2020-11-17
-
[DNS] CentOS 7 - DNS 설치 및 forwarders 구성
DNS 설치 (on CentOS 7) DNS 설치는 아래 커맨드를 통해 설치가 가능합니다. $ sudo yum -y install bind DNS 실행 아래 커맨드로 실행을 합니다. $ sudo systemctl enable --now named $ sudo systemctl status named ● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-11-05 10:27:12 KST; 889ms ago Process: 25609 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS) Process: 25607 ExecStartPre=/bin/bash -c if...
chhanz's profile imagechhanz
2020-11-06
-
[OpenShift] OpenShift 를 이용한 CI(Continuous Integration) 구성
[OpenShift] OpenShift 4.5 를 이용한 CI(Continuous Integration) 구성 이번 포스팅은 OpenShift 를 이용한 Continuous Integration(이하 CI)를 구성하도록 하겠습니다. 사전 구성 : gogs Continuous Integration 란? CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미합니다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. 참고 자료 : https://blog.abiatechhub.com/devops-what-is-continous-integration-all-you-need-to-know/2020/by/zaghadon/ https://www.redhat.com/ko/topics/devops/what-is-ci-cd...
chhanz's profile imagechhanz
2020-10-16
-
[oVirt] Install oVirt 4.3 (Self Hosted Engine)
[oVirt] Install oVirt 4.3 (Self Hosted Engine) oVirt Self Hosted engine 설치 가이드입니다. oVirt 4.3 기준으로 작성 되었습니다. 작성일 : 2019-11 oVirt installation guide_v4.3 from CheolHee Han 마치며 해당 메뉴얼은 테스트 환경 기준으로 작성 되었습니다. 운영 환경에 적용하기 위해서는 NAS or Storage 환경을 권장드립니다.
chhanz's profile imagechhanz
2020-10-06
-
[Kubernetes] Update App (Rolling Update / Rollback)
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Update APP 이 문서는 Rolling Update / Rollback APP 에 대한 방법을 포함하고 있습니다. Update Source 아래와 같이 Source 를 UPDATE 가 되었습니다. 신규 Build 및 Image Push 는 build app flask 를 확인하여 진행합니다. diff --git...
chhanz's profile imagechhanz
2020-09-28
-
[Kubernetes] Scale App (kubectl scale)
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Scale APP 이 문서는 Pod 을 Scale-out 하는 방법에 대해 포함되어 있습니다. Scale 개요 Before After Command 를 이용하여 Scale-out 기존에 1개의 Pod 으로 실행중이던 APP 을 5개의 Pod 으로 Scale-out 하도록 하겠습니다. $ kubectl scale deployment...
chhanz's profile imagechhanz
2020-09-27
-
[Kubernetes] Expose App (Service 생성)
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Expose APP 이 문서는 Service 생성에 대해 포함된 문서입니다. Service 란? Kubernetes Pod 들은 언젠가는 죽게됩니다. 실제 Pod 들은 생명주기를 갖습니다. 워커 노드가 죽으면, 노드 상에서 동작하는 Pod 들 또한 종료됩니다. Kubernetes 에서 service 는 Pod 들에...
chhanz's profile imagechhanz
2020-09-25
-
[Kubernetes] Node 상태 확인
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Check The Node 이 문서는 Kubernetes Node 를 확인하는 방법에 대해 포함되어 있습니다. Kubernetes Node Kubernetes Node 는 최소한 다음과 같이 동작합니다. Kubelet은, 쿠버네티스 마스터와 노드 간 통신을 책임지는 프로세스이며, 하나의 머신 상에서 동작하는 파드와 컨테이너를 관리합니다....
chhanz's profile imagechhanz
2020-09-24
-
[Kubernetes] App 확인 (Pod 확인)
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Check The Pod 이 문서는 Pod 를 확인하는 방법에 대해 포함되어 있습니다. Kubernetes Pod 앞선 Create the Deployment 를 통해 Deployment 가 생성이 되고 나면 Kubernetes 는 여러분의 애플리케이션 인스턴스에 Pod 를 생성했습니다. Pod 는 하나 또는...
chhanz's profile imagechhanz
2020-09-24
-
[Kubernetes] Deployment 생성
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Create the Deployment 이 문서는 Kubernetes 의 Deployment 를 생성하는 방법에 대해 포함되어 있습니다. Deployment 란? Deployment는 Kubernetes 가 애플리케이션의 인스턴스를 어떻게 생성하고 업데이트해야 하는지를 지시합니다. Deployment가 만들어지면, Kubernetes Master 가 해당 Deployment 에 포함된 애플리케이션 인스턴스가...
chhanz's profile imagechhanz
2020-09-23
-
[Container] podman 을 이용한 container image build
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Build APP for Flask WEBAPP 이 문서는 Kubernetes Hands on LAB 에서 활용할 Flask WEBAPP 를 Build 하는 방법에 대해 포함 되어 있습니다. Install git $ yum -y install git Clone source $ git clone https://github.com/chhanz/flask-example-app.git Check...
chhanz's profile imagechhanz
2020-09-22
-
[Container] Container image build with buildah (podman builder)
목차 Build APP - Container image Deploy APP Build APP Create The Deployment Check APP Check The Node Check The APP Expose APP Expose APP - NodePort Scale APP Scale APP Update APP Update APP - Rolling Update/Rollback Build APP 이 문서는 Application 을 Build 하는 방법에 대해 설명하고 있습니다. Buildah 란? Buildah 는 Podman 의 Container image Build 및 push 등을 지원하는 Tool 로 podman build 을 사용할 경우, 내부적으로 Buildah 를 이용하여 Container...
chhanz's profile imagechhanz
2020-09-21
-
[Kubernetes] Ansible 으로 k3s 배포하기 (on VMware)
Ansible 을 이용하여 k3s 배포해보자 k3s 란? Rancher 에서 IoT / Edge / ARM 등의 가벼운 시스템에 Kubernetes 서비스를 올리기 위해 만들어진 Lightweight Kubernetes 입니다. Ansible.fast-k3s 란? 저는 평소엔 사내 교육이나 테스트를 위해 주로 Minikube 를 이용하였습니다. Minikube 도 Linux laptop 인지 Windows (version) laptop 인지 Mac 인지 확인해서 설치를 가이드 해야되는 불편함이 있었습니다. 그래서 VMware (vCenter) 에 생성되어 있는 Template 를 이용하여 자동으로 Kubernetes 테스트 환경을 만드는 Playbook 을 만들었습니다. Requirements 현재는 VMware 만...
chhanz's profile imagechhanz
2020-09-05
-
[Linux] ReaR 를 이용하여 OS Backup 구성
[Linux] ReaR 를 이용하여 OS Backup 구성 ReaR 란? ReaR 또는 Relax & Recover는 마이그레이션 및 재해 복구 도구입니다. ReaR는 실행중인 Linux 시스템에 대한 부팅 가능한 이미지를 생성하며 필요한 경우에는 백업된 이미지를 사용하여 시스템을 복구 할 수 있습니다. 백업된 이미지를 사용하여 OS를 다른 하드웨어로 복원 할 수도 있으므로 ReaR를 마이그레이션 도구로 사용할 수도 있습니다. ReaR Backup 용 NFS 서버 구성 ReaR 로 Backup 되는 Boot ISO 및 Backup DATA 를 저장할 NFS 서버를 구성합니다. (NAS...
chhanz's profile imagechhanz
2020-08-12
-
[Linux] How to reposync only latest package
[Linux] How to reposync only latest package reposync 를 받는데 모든 version 의 package 들이 있다보니 reposync 할 때, 시간도 오래 걸리고 용량도 큰 문제가 있었습니다. [root@fastvm-r76-34 ~]# yum repolist Loaded plugins: product-id, search-disabled-repos, subscription-manager repo id repo namestatus !rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RPMs) 29,237 ... 위와 같이 29237 개의 package 를 가지고 있습니다. 아래와 같이 하면 최신 버전의 package 만 sync 할 수 있습니다. $ reposync -n -r rhel-7-server-rpms (1/5475): 389-ds-base-1.3.10.1-14.el7_8.x86_64.rpm...
chhanz's profile imagechhanz
2020-07-30
-
[Linux] CentOS6 OPENSSL 최신버전 설치
CentOS6 에 OPENSSL 최신버전 설치 CentOS 6 에서는 openssl 1.0.1e-58.el6_10 까지만 지원하고 (Repository 에서 제공하는 Version) https://www.openssl.org 에서 제공하는 버전은 openssl-1.1.1g 입니다. CentOS 6 에서는 Source 설치를 해야지만 최신 버전 사용이 가능한 것입니다. Requirement package 아래와 같이 필수 패키지를 설치합니다. $ yum install gcc make gcc-c++ perl perl-Test-Harness perl-Test-Simple zlib-devel Source 설치 설치 방법은 간단합니다. $ wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz $ cd openssl-1.1.1g $ ./config $ make $ make test $ make install 하지만 위와 같이 하면...
chhanz's profile imagechhanz
2020-07-21
-
[Python] Python 으로 간단히 웹서비스 구동
Python 으로 간단히 웹서비스를 구동해보자. Local PC 에서 jekyll 과 같이 내가 만든 정적 웹서비스를 테스트 할 수 있는 방법이 없을까 궁리하다가 찾은 방법입니다. 실행 Web Source 가 있는 위치로 이동하여 아래와 같이 명령을 입력합니다. $ pwd /var/www/html/ $ cat index.html HELLO!!! $ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... 10.10.10.10 - - [20/Jan/2017 16:44:01] "GET / HTTP/1.1" 200 - 10.10.10.10 - - [20/Jan/2017 16:46:22] "GET / HTTP/1.1" 200 - 위와 같이...
chhanz's profile imagechhanz
2020-07-05
-
[OpenShift 4.4] CodeReady Workspaces 를 이용하여 통합 개발 환경(IDE) 구현
CodeReady Workspace 란? Red Hat® CodeReady Workspaces는 팀을 위한 클라우드 네이티브 개발을 실용적으로 만들어주는 개발자 툴입니다. 쿠버네티스와 컨테이너를 사용해 개발 또는 IT 팀의 누구에게든 일관적으로 사전 설정된 개발 환경을 제공합니다. 개발자는 Red Hat OpenShift®에서 구동되는 컨테이너에서 코드를 작성하고, 빌드하고, 테스트할 수 있습니다. 사용자 경험 또한 노트북에서 통합 개발 환경(IDE)을 사용하는 것만큼이나 빠르고 친숙합니다. https://www.redhat.com/ko/technologies/jboss-middleware/codeready-workspaces CodeReady Workspace 배포 CodeReady 배포 할 Project 생성합니다. admin 계정으로 로그인 후, OperatorHub 에서 CodeReady 를 검색합니다. Install 을 누르고 설치를...
chhanz's profile imagechhanz
2020-07-01
-
[OpenShift 4.4] Deploying Applications From Template
해당 자료는 사내 교육용으로 제작된 자료입니다. 자료 사용시 출처 부탁 드려요. 목차 Deploying Applications From Images Deploying Applications From Source Deploying Applications From Template Deploying Applications From Template 이번 Lab 은 Template 로 생성된 App 을 배포 하도록 하겠습니다. Django + pgsql 배포 (no pv) 신규 Project 생성 From Catalog 를 선택합니다. Django + pgsql(Ephemeral) 선택합니다. 필요한 옵션을 입력하고 APP 을 배포합니다. pgsql 이 배포됩니다. Django 가 Build 됩니다. Page Views 수가 올라가면서 해당 데이터는...
chhanz's profile imagechhanz
2020-06-24
-
[OpenShift 4.4] Deploying Applications From Source
해당 자료는 사내 교육용으로 제작된 자료입니다. 자료 사용시 출처 부탁 드려요. 목차 Deploying Applications From Images Deploying Applications From Source Deploying Applications From Template Deploying Applications From Source 이번 Lab 은 Source 를 이용하여 App 을 배포 하도록 하겠습니다. PHP WebApp 배포 Web Console 로 developer 계정으로 로그인합니다. 테스트를 위한 신규 Project 생성합니다. From Git 항목을 선택합니다. 소스 주소 https://github.com/chhanz/docker-swarm-demo.git 를 입력하고 사용할 Builder 로 PHP 를 선택합니다. Builder 로 사용할 PHP Version 선택합니다. Build...
chhanz's profile imagechhanz
2020-06-22
-
[OpenShift 4.4] Deploying Applications From Images
해당 자료는 사내 교육용으로 제작된 자료입니다. 자료 사용시 출처 부탁 드려요. 목차 Deploying Applications From Images Deploying Applications From Source Deploying Applications From Template Deploying Applications From Images 이번 Lab 은 Container Image 로 생성된 App 을 배포 하도록 하겠습니다. Django WebApp 배포 Web Console 로 developer 계정으로 로그인합니다. 새로운 Project 를 생성합니다. openshiftkatacoda/blog-django-py Django WebApp 를 배포합니다. Copy to Paste : openshiftkatacoda/blog-django-py 배포 완료! CLI 로 배포 $ oc login -u developer $ oc...
chhanz's profile imagechhanz
2020-06-18
-
[Container] Container & Orchestration 교육 자료
해당 자료는 사내 교육용으로 제작된 자료입니다. 자료 사용시 출처 부탁 드려요. https://github.com/chhanz/container-hands-on Container & Orchestration 교육 자료 목차 Docker Podman Kubernetes OpenShift Docker Hands-on 환경 OS : CentOS 7.7 Disable SELinux, Firewalld Install Install Package $ yum -y install docker start service docker $ systemctl enable --now docker RUN start container nginx $ docker run -d -ti --name nginx -p 80:80 nginx check container nginx $ docker ps -a access web $ crul http://192.168.200.100 stop...
docker podman kubernetes openshift
chhanz's profile imagechhanz
2020-05-21
-
[Ansible] Red Hat Ansible Tower Bundle 설치(v3.6.3)
Red Hat Ansible Tower Bundle 설치(v3.6.3) Ansible Tower 설치 준비 Ansible Tower 설치를 위해 아래와 같이 Repository 를 Enable 합니다. $ subscription-manager repos --enable=rhel-7-server-rpms $ subscription-manager repos --enable=rhel-7-server-ansible-2.9-rpms $ subscription-manager repos --enable=rhel-server-rhscl-7-rpms 위와 같이 Red Hat Ansible Tower Download Center 에서 Ansible Tower 3.6.3 Setup Bundle 을 Download 합니다. Download 된 Bundle 을 설치할 시스템에 Upload 하고 아래와 같이 진행니다. [root@fastvm-r77-99 ~]# tar xzvf ansible-tower-setup-bundle-3.6.3-1.tar.gz [root@fastvm-r77-99 ~]# cd ansible-tower-setup-bundle-3.6.3-1 Ansible Tower 설치 inventory 수정 아래와...
chhanz's profile imagechhanz
2020-05-12
-
[Devops] Jenkins CI Pipeline 구성
목차 Gitlab-CE 설치 Jenkins 설치 Nexus Repository Manager 설치 Jenkins CI Pipeline 구성 Jenkin 를 이용하여 CI 를 자동화해보자! 이번 포스팅에서는 Jenkins 를 이용하여 CI 를 자동화 하는 방법을 알아보도록 하겠습니다. 이 구성은 Github 의 Actions 와 비슷하게 구성 할 수 있습니다. Pipeline 시나리오 1) Gitlab 의 특정 Project 에서 Push or Merge 가 발생하면 Jenkins 에 CI 를 발생하도록 webhook 을 발생한다. 2) Jenkins 는 설정된 Pipeline 에 맞게 CI 를 진행한다. 3) CI...
chhanz's profile imagechhanz
2020-05-04
-
[Devops] Nexus Repository Manager 설치(use docker)
목차 Gitlab-CE 설치 Jenkins 설치 Nexus Repository Manager 설치 Nexus Repository Manager 3 (OSS Version) 설치 Private Container Image 저장소를 만들기 위해 Nexus Registory Manager(이하 Nexus) 구성을 하려고 합니다. Nexus Data 저장 공간 생성 Nexus Data 공간을 생성합니다. $ mkdir /data $ chown 200:200 /data UID/GID 는 200 으로 설정합니다.(Container Image 에 선언되어 있습니다.) Use Docker Docker 를 이용할 경우, 아래와 같이 명령을 수행합니다. $ docker run -d -p 8081:8081 -p 5000:5000 --name nexus -v...
chhanz's profile imagechhanz
2020-04-17
-
[Devops] Jenkins 설치(RPM/WAR)
목차 Gitlab-CE 설치 Jenkins 설치 Nexus Repository Manager 설치 Jenkins RPM 설치 RPM 을 이용한 설치 과정입니다. 참고 문서 : https://pkg.jenkins.io/redhat/ RPM Version 필수 Package 설치 $ yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel Jenkins repository 추가 $ wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo Jenkins 설치 $ yum install jenkins Jenkins 서비스 시작 $ systemctl enable jenkins $ systemctl start jenkins Jenkins WAR 설치 Warfile 을 배포하여 설치 하는 과정입니다. WAR Version 필수 Package 설치 $ yum -y install...
chhanz's profile imagechhanz
2020-04-16
-
[Tomcat] Tomcat War file 배포
SubPath 배포 sample.war 을 준비한다. /var/lib/tomcat/webapps 에 War File을 위치한다. Tomcat 서비스를 기동한다. http://localhost:8080/sample 으로 접근이 가능하다. ROOT 로 서비스 sample.war 을 준비한다. /var/lib/tomcat/webapps 에 War File을 위치한다. /var/lib/tomcat/webapps/sample.war file 의 이름을 ROOT.war 로 변경한다. tomcat 서비스를 기동한다. http://localhost:8080/으로 접근이 가능하다.
chhanz's profile imagechhanz
2020-03-12
-
[Linux] .bash_history 로그에 timestamp 추가하기
.bash_history 로그에 timestamp 추가하기 Add timestamp to .bash_history /etc/profile 에 해당 구문을 추가한다. HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] " export HISTTIMEFORMAT Result [root@fastvm-centos-7-7-30 ~]# history 1 [2020-01-13 17:34:40] history -ps 2 [2020-01-13 17:34:40] ls 3 [2020-01-13 17:34:40] ip a 4 [2020-01-13 17:34:40] lsblk 5 [2020-01-13 17:34:40] df 6 [2020-01-13 17:34:40] history -ps 7 [2020-01-13 17:34:40] history 8 [2020-01-13 17:34:40] ls 9 [2020-01-13 17:34:40] cd /etc 10 [2020-01-13 17:34:40] ls 11 [2020-01-13 17:34:40] cd profile.d/
chhanz's profile imagechhanz
2020-03-10
-
[Container] Podman 설치 및 사용법
Podman 이란? Red Hat Enterprise Linux 8 / CentOS 8 부터는 Docker 대신 Podman 이라는 도구를 제공합니다. Podman 은 Docker 와 동일하게 단일 노드에서 pod, 컨테이너 이미지 및 컨테이너를 관리합니다. Pod 라고 하는 컨테이너 및 컨테이너 그룹을 관리할 수 있는 libpod 라이브러리를 기반으로 합니다. RHEL 8 Release Note 이번 포스팅에서는 Podman 의 설치 및 기본 사용법에 대해 확인 해보겠습니다. Docker VS Podman Docker 와 Podman 은 아래와 같이 “컨테이너 Cli 가 컨테이너를 어떻게 생성하냐” 의...
chhanz's profile imagechhanz
2020-03-02
-
[Devops] Gitlab CE 설치
목차 Gitlab-CE 설치 Jenkins 설치 Nexus Repository Manager 설치 Gitlab CE Gitlab 이란? 위키백과에서는 아래와 같이 설명하고 있습니다. 깃랩(GitLab)은 깃랩 사(GitLab Inc.)가 개발한 위키와 이슈 추적 기능을 갖춘 웹 기반의 데브옵스 시스템으로써, 오픈 소스 라이선스 및 사유 소프트웨어 라이선스를 사용한다. 2019년 현재, 깃 저장소와 이슈 추적 기능을 가춘 유일한 단일 어플리케이션의 (Single Application) 데브옵스 솔루션이다. 시중에 유통되고 있는 많은 데브옵스 솔루션들은 자신들의 특화된 영역 이외는 API를 이용한 연동 만을 제공하지만 깃랩은 단일 어플리케이션으로써 데브옵스의 전...
chhanz's profile imagechhanz
2020-02-16
-
[Kubernetes] IBM Cloud Kubernetes Service 를 Free Tier 로 사용해보자!
목차 IBM Cloud Kubernetes Service 생성 IBM Cloud Cli 및 Kubectl 설치 Deploy Sample Service Delete Kubernetes Cluster 참고 자료 관리형 Kubernetes Service 각 Public Cloud Provider 에서는 관리형 Kubernetes Service를 제공하고 있습니다. AWS 에서는 Amazon Elastic Kubernetes Service(AWS EKS), Azure 에서는 Azure Kubernetes Service(AKS)의 이름으로 서비스를 하고 있으며, IBM 에서는 IBM Cloud Kubernetes Service(IKS) 라는 서비스를 제공하고 있습니다. 이번 포스팅에서는 무료로 관리형 Kubernetes 서비스를 이용 할 수 있는 IBM Cloud Kubernetes Service(이하 IKS) 를...
chhanz's profile imagechhanz
2020-01-27
-
[RHV] Red Hat Virtualization Host 추가 및 VM 생성
목차 Red Hat Virtualization Host 설치 Red Hat Virtualization Standalone Manager 설치 Red Hat Virtualization Host 추가 및 VM 생성 Red Hat Virtualization Host 추가 이전 포스트에서는 RHVM 을 설치하였습니다. 첫번째 포스트에서 설치한 RHVH 를 RHVM 에 연결하여 Manager 에서 Hypervisor 를 관리 할 수 있도록 하겠습니다. RHVH 호스트 추가 RHVM 관리 포탈에서 호스트 탭을 선택합니다. 그리고 새로 만들기를 선택합니다. RHVH 의 주소 정보 및 SSH 접속 정보를 입력합니다. 연결이 되면 호스트를 관리하기 위한 설치를...
chhanz's profile imagechhanz
2020-01-18
-
[RHV] Red Hat Virtualization Standalone Manager 설치
목차 Red Hat Virtualization Host 설치 Red Hat Virtualization Standalone Manager 설치 Red Hat Virtualization Host 추가 및 VM 생성 Red Hat Virtualization Manager 요구 사항 Red Hat Virtualization Manager(이하 RHVM)은 아래와 같은 하드웨어 요구 사항이 있습니다. 참고 자료 : RHV Document Red Hat Virtualization Manager 설치 RHVM은 설치 방법이 두가지가 있습니다. Standalone 방식, Self-Hosted Engine 방식이 있습니다. 이 방식에 대해 간단히 설명을 하면, Standalone : RHVM 단독 시스템(baremetal) Self-Hosted Engine : RHVM을 Hypervisior 에...
chhanz's profile imagechhanz
2020-01-17
-
[RHV] Red Hat Virtualization Host 설치
목차 Red Hat Virtualization Host 설치 Red Hat Virtualization Standalone Manager 설치 Red Hat Virtualization Host 추가 및 VM 생성 Red Hat Virtualization Host 란? RHVH (Red Hat Virtualization Host)는 Red Hat Enterprise Linux 기반의 최소 운영 체제이며 Red Hat Virtualization 환경에서 하이퍼바이저 역할을 하는 물리적 시스템을 간단하게 설정할 수 있도록 설계되었습니다. 참고 자료 : RHV Document RHVH 설치 준비된 RHVH 4.1 DVD 이미지를 통해 부팅을 합니다. 언어를 선택합니다. 아래 화면은 RHVH 설치 화면입니다. 기본적으로...
chhanz's profile imagechhanz
2020-01-03
-
[Linux] KVM nested virtualization
KVM nested virtualization KVM nested virtualization 를 구성하여 VM CPU 가상화를 활성화 할 수 있습니다. 이와 같이 구성 할 경우, 가상화 VM 내에서 한번더 가상화 구성이 가능합니다. kvm-intel module 설정 아래와 같이 kvm-intel module parameter 를 추가합니다. [root@kvm ~]# cat /etc/modprobe.d/kvm-nested-module.conf options kvm-intel nested=1 이후 시스템을 재부팅하고 KVM nested virtualization 구성이 되었는지 확인합니다. [root@kvm ~]# cat /sys/module/kvm_intel/parameters/nested Y kvm-intel module 상세 확인 [root@kvm ~]# modinfo kvm-intel filename: /lib/modules/3.10.0-1062.4.3.el7.x86_64/kernel/arch/x86/kvm/kvm-intel.ko.xz license: GPL author: Qumranet retpoline: Y rhelversion:...
chhanz's profile imagechhanz
2019-12-30
-
[Linux] noVNC 구성
noVNC 구성 noVNC 란? noVNC는 HTML VNC 클라이언트 프로그램입니다. noVNC 구성 install requirement package $ yum -y groupinstall "GNOME Desktop" $ yum -y install epel-release install noVNC package $ yum -y install novnc python-websockify numpy tigervnc-server start service vncserver $ vncserver :1 vncserver 가 시작되면 vnc 접속용 password 입력을 요구합니다. 해당 password 는 noVNC 에 접근 할 때 필요한 password 입니다. start service websockify $ websockify -D --web=/usr/share/novnc/ 6080 localhost:5901 위와 같이 명령을 수행하면 6080...
chhanz's profile imagechhanz
2019-12-13
-
[OpenShift] KVM 환경에 OpenShift 4 구동해보자!
Install on Laptop: Red Hat CodeReady Containers OpenShift 3.X 에서는 minishift 를 Laptop 에 배포하여 OpenShift 를 체험하고 테스트 간단하게 할 수 있습니다. 그런데 ” OpenShift 4.X 에서는 minishift 와 같은 테스트 환경을 구축 할 수 없을까? “ 라는 생각에서 검색을 시작했습니다. OpenShift 4 on Laptop OpenShift 4 부터는 Red Hat OpenShift Cluster Manager 에서 각종 환경에 배포 할 수 있는 가이드를 제공하고 있습니다. 위와 같이 Install on Laptop: Red Hat CodeReady Containers 를 제공하여 minishift 와 같은 테스트 환경을 구축 할...
chhanz's profile imagechhanz
2019-11-25
-
[Linux] Squid 를 이용한 Proxy 서버 구성
[Linux] Squid 를 이용한 Proxy 서버 구성 주로 on-premise 환경에서 운영되는 시스템은 인터넷이 안되는 시스템이 많습니다. 이런 상황이다 보니, Yum 을 통한 Package 관리가 쉽게 되지 않습니다. 그렇다고 모든 시스템은 인터넷이 가능하게 만들어 보안에 취약해지는 환경을 만들수는 없습니다. 아래와 같이 Proxy 서버를 이용하여 하나의 시스템을 통해 모든 시스템이 인터넷이 가능하도록 구성 할 수 있습니다. 주 된 목적은 Yum 을 통해 Package 관리가 가능하도록 구성하는 것이 목적입니다. 목표 구성도 위와 같이 Server Farm 의 시스템은 인터넷이...
chhanz's profile imagechhanz
2019-11-13
-
[Linux] Converting VMware ESXi Linux VM to KVM (virt-v2v)
Converting VMware ESXi Linux VM to KVM (virt-v2v) 1. Install package virt-v2v $ yum install virt-v2v 위와 같이 virt-v2v package 를 설치 합니다. 2. ESXi - KVM 간 ssh key 인증 설정 KVM 호스트에서 ESXi 의 데이터스토어에 Password 없이 접근이 가능하도록 설정을 해야 virt-v2v 를 이용하여 VM 을 이관 할 수 있습니다. + VMware ESXi ssh Daemon 시작 위와 같이 ESXi Web Console 에서 작업 > 서비스 > SSH 사용 선택 + KVM, ssh-keygen 명령...
chhanz's profile imagechhanz
2019-10-22
-
[Kubernetes] CKA(Certified Kubernetes Administrator) 시험 합격 후기
[Kubernetes] CKA(Certified Kubernetes Administrator) 시험 합격 후기 안녕하세요. chhanz 입니다. 2019년 취득 목표로 잡고 공부하던 CKA, Certified Kubernetes Administrator 자격증을 드디어 취득하였습니다. CKA 자격증을 취득하고 느낀점은 커뮤니티에 올려주신 많은 합격 후기들이 “너무 도움이 많이 되었다.” 라는 점입니다. 그리하여 제가 공부를 어떻게 했고, 시험이 어떤식으로 진행이 되었는지 공유해드리겠습니다. 공부 준비 다양한 리소스를 이용하여 공부를 하였으나, 제가 제일 유용하였고 도움이 되었다고 생각되는 자료 리스트입니다. Kubernetes Tutorials 언제나 기본기는 중요합니다. hands-on lab 도 제공하여 처음 기본을 잡는데 유용하였습니다.(katacoda...
chhanz's profile imagechhanz
2019-09-30
-
[fast-vm] CentOS 8 custom image 생성
CentOS 8 custom image 생성 드디어 CentOS 8 이 release 되었습니다. (2019-09-24) CentOS 8 release news 이것 저것 새로운 기능들을 테스트 해보고 싶은 욕망에 fast-vm 에서 사용할 custom image 를 생성해 보도록 하겠습니다. Custom image 생성 아직 CentOS 8 의 fast-vm public image 는 아직 추가가 안 되었습니다. 하지만 RHEL 8 을 통해 CentOS 8 image 를 생성 할 수 있습니다. 여담으로 fast-vm 의 개발자, @ondrej 에게 공식 public image upload 를 요청 하였습니다. 테스트...
chhanz's profile imagechhanz
2019-09-25
-
[Docker] nvidia container runtime 설정
nvidia container runtime 설정 nvidia container runtime 을 설정하기 위해서는 꼭 docker-ce 로 docker 가 설치가 되어 있어야 됩니다. (일반 RHEL/CentOS에서 제공되는 docker package로는 설치 불가) docker-ce 설치 yum-utils 설치 $ yum -y install yum-utils docker-ce Repository 연결 $ yum-config-manager \ > --add-repo \ > https://download.docker.com/linux/centos/docker-ce.repo Loaded plugins: fastestmirror adding repo from: https://download.docker.com/linux/centos/docker-ce.repo grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo repo saved to /etc/yum.repos.d/docker-ce.repo $ docker-ce 설치 $ yum install docker-ce docker 서비스 시작 $ systemctl enable...
chhanz's profile imagechhanz
2019-09-20
-
[Kubernetes] kubeadm 을 이용한 Kubernetes 설치
kubeadm 을 이용한 Kubernetes 설치 kubeadm 을 이용하여 kubernetes 테스트 환경을 쉽고 빠르게 구축하도록 하겠습니다. 준비 사항 이번 테스트 환경은 1 Master node, 2 Worker node 로 구성을 할 예정입니다. 상세 내역은 아래와 같습니다. OS Version : CentOS 7.6 Docker Version : v18.6.1 Kubernetes Version : v1.15.3 사전 준비 Kubernetes 설치를 위해 사전 준비 작업이 필요합니다. 위 작업은 운영체제 설정 작업 및 Package 설치 작업이며, 해당 작업은 Kubernetes Preinstaller 를 이용하여 손쉽게 작업하도록 하겠습니다. Kubernetes...
chhanz's profile imagechhanz
2019-09-04
-
[Linux] Fast-VM 설치 및 활용
Fast-VM Fast-VM 이란? Fast-VM 라는 Open Source Solution 을 알게된 것은 Ondrej Faměra 라는 친구를 만나면서 입니다. Thank You. Ondrej ^o^ Fast-VM 은 Ondrej Faměra 가 만든 libvirtd 기반의 가상화 Provisioning Solution 입니다. 기존의 libvirtd 기반의 가상화는 virt-manager 혹은 virsh 을 통해 VM 생성 및 운영을 하였습니다. Fast-VM 을 이용하면 fast-vm 이라는 명령어 하나로 VM을 생성하고 관리 할 수 있습니다. 다양한 Linux 배포판을 설치하고 테스트를 해야되는 저는 fast-vm 을 통해 여러가지 스트레스들이 사라졌습니다. ^^ Fast-VM...
chhanz's profile imagechhanz
2019-08-16
-
[Linux] sosreport 생성 경로 변경
[참고] Install sosreport Package [root@fastvm-centos-7-6-ext-50 ~]# yum -y install sos ... 중략 ... Installed: sos.noarch 0:3.6-19.el7.centos 위와 같이 sos Package 를 설치하면 sosreport 를 수집 할 수 있습니다. sosreport 생성 경로 변경 sosreport 는 기본적으로 아래와 같이 /var/tmp/sosreport-XXXX.tar.xz 로 생셩이 됩니다. /var 경로에 용량이 부족하거나 sosreport 로 수집된 파일의 크기가 큰 경우, 생성 위치를 변경 할 수 있습니다. sosreport 기본 경로 생성 로그 [root@fastvm-centos-7-6-ext-50 ~]# sosreport sosreport (version 3.6) ... 중략 ... Creating compressed archive......
chhanz's profile imagechhanz
2019-08-01
-
[Github] Jekyll을 이용하여 Github Page를 만들어보자!
Jekyll을 이용하여 Github Page를 만들어보자! 구글 검색을 하시다보면 많은 기술 자료들이 블로그를 통해 올라오는 것을 볼 수 있습니다. 그 블로그들의 공통점은 github.io 의 도메인을 가지고 있다는 것입니다. github.io 와 Jekyll 을 이용하면 누구든 쉽게 개인 블로그를 만들고 많은 정보를 공유 할 수 있습니다. 한번 직접 만들어 보겠습니다. Repository 생성 github 를 가입하고 이메일 인증까지 완료하면 다음과 같이 Repository 생성을 하도록 페이지가 나옵니다. Repository 의 이름을 chhanz-test.github.io 로 생성을 합니다. Repository 를 생성하고 위와 같이 Repository...
chhanz's profile imagechhanz
2019-07-24
-
[Openshift] Openshift 의 HPA 를 이용한 Auto-Scaling 구현
이전 포스팅 다시 보기 [Openshift] Openshift Origin v3.11 설치, App 배포 [Openshift] Openshift Web Console 을 이용한 배포 Openshift 의 HPA 를 이용한 Auto-Scaling 구현 Openshift 에서 Horizontal Pod Autoscaler(이하 HPA) 를 이용하여 설정한 CPU 사용률을 기반으로 Replicaset, Deployment 의 Pod 수를 자동으로 Scaling 할 수 있습니다. HPA 를 하기 위해서는 Pod 의 부하에 대해 모니터링 및 수집을 하는 Metrics-Server 가 필요합니다. 아래에서 Openshift 에 Metrics-Server 를 배포하고 성능 수집을 해보도록 하겠습니다. Metrics-Server 배포 기본적으로...
chhanz's profile imagechhanz
2019-07-15
-
[Openshift] Openshift Web Console 을 이용한 배포
[Openshift] Openshift Web Console 을 이용한 배포 안녕하세요. chhanz 입니다. 이전 포스팅인 Openshift Origin 설치에 이어서 Openshift Web Console 을 살펴보고 Web Console 을 이용하여 APP 배포도 해보겠습니다. Openshift Web Console 기본적으로 설치가 완료된 Openshift는 Web Console 이 expose 되어 있습니다. 생성되어 있는 route 를 확인하고 접속 해보도록 하겠습니다. 위와 같이 모든 namespace 의 route 를 확인 할 수 있습니다. 현재 테스트 시스템에서는 http://console.apps.example.com 로 route 가 생성이 되어 있습니다. 해당 Domain 으로 접속 해보겠습니다....
chhanz's profile imagechhanz
2019-06-24
-
[VMware] Linux SCSI ID 확인 방법
VMware ESXi에서 Linux SCSI ID 확인 방법 VMware ESXi 상에서 운영중인 Linux 의 경우, 아래와 같이 DISK 의 SCSI ID 가 확인이 불가능합니다. GuestOS 의 DISK 를 다른 GuestOS 로 이관을 하거나, GuestOS 의 VMX 를 재생성 하였을때, VMDK 의 순서가 확인이 안될 경우… 이러한 경우로 인해 명확하게 어떤 VMDK 가 실제로 운영체제에서 어떤 DISK 로 사용 되었는지 확인이 필요합니다. 실제로 VMware 시스템에서는 아래와 같이 SCSI ID 가 확인이 기본적으로 안됩니다. 이처럼 SCSI ID 가...
chhanz's profile imagechhanz
2019-06-16
-
[Openshift] Openshift Origin v3.11 설치, App 배포
안녕하세요 chhanz 입니다. 이번 포스팅에서는 Kubernetes에 기반을 둔 Developer-Oriented PaaS 인 Openshift를 살펴볼 것입니다. Openshift 란? OpenShift 는 개발자 및 IT 운영팀을 단일 플랫폼에서 통합하여, 하이브리드 클라우드 및 멀티 클라우드 인프라 전반에서 애플리케이션을 일관되게 구축, 배포 및 관리하도록 지원하는 플랫폼입니다. Openshift 이점 주요 이점 애플리케이션 라이프사이클 전반에 걸쳐 운영 및 개발팀에서 더 큰 가치 실현 애플리케이션 개발 주기 단축 및 소프트웨어 배포 빈도 증가 하이브리드 클라우드 및 멀티 클라우드 전반에서 IT 운영 비용 절감 및...
chhanz's profile imagechhanz
2019-06-07
-
[Linux] CentOS7 PPC 설치 on PowerVM
CentOS 7 PPC 설치 on PowerVM 설치 환경 IBM Power7 P750 IBM PowerVM 2.4 CentOS7(1804) VM 설정 VIOS 에서 VM LPAR 를 생성하고 vCD-ROM 을 이용하여 ISO 를 Mount 하여 OS 설치 준비를 합니다. $ loadopt -disk CentOS-7-ppc64-Everything-1804.iso -vtd vtopt0 lsrep $ lsrep Size(mb) Free(mb) Parent Pool Parent Size Parent Free 10198 2958 rootvg 279552 220416 Name File Size Optical Access CentOS-7-ppc64-Everything-1804.iso 7240 vtopt0 rw $ lsmap -vadapter vhost25 SVSA Physloc Client Partition ID ---------------...
chhanz's profile imagechhanz
2019-05-10
-
[Linux] grubby 사용법
GRUBBY COMMAND 활용 grubby 라는 명령을 통해 GRUB2 부트로더를 손쉽게 수정 할 수 있습니다. grubby –help [root@fastvm-centos-7-6-21 ~]# grubby --help Usage: grubby [OPTION...] --add-kernel=kernel-path add an entry for the specified kernel --add-multiboot=STRING add an entry for the specified multiboot kernel --args=args default arguments for the new kernel or new arguments for kernel being updated --mbargs=STRING default arguments for the new multiboot kernel or new arguments for multiboot kernel being updated --bad-image-okay don`t sanity check images...
chhanz's profile imagechhanz
2019-04-17
-
[Kubernetes] Kubernetes Volume #2
Network Volume - nfs / cephfs / ceph rbd 이번 포스팅은 Kubernetes Korea Group의 Kubernetes Architecture Study 모임에서 스터디 후, 발표된 내용입니다. Link : k8skr-study-architecture Github Kubernetes Volume #2 저번 포스팅 Kubernetes Volume #1 에서는 Local Volume 에 관련된 emptyDir / hostPath / gitRepo 에 대해 설명드렸습니다. 이어서 이번 포스팅에서는 Network Volume 으로 사용될 nfs / cephfs / ceph rbd 를 예제와 함께 알아보도록 하겠습니다. Persistent Volume 와 Persistent Volume Claim Persistent Volume 와 Persistent VolumeClaim 가 있는데, Persistent Volume(이하 PV) 는 Kubernetes 에서...
chhanz's profile imagechhanz
2019-04-15
-
[Kubernetes] Kubernetes Volume #1
emptyDir / hostPath / gitRepo 이번 포스팅은 Kubernetes Korea Group의 Kubernetes Architecture Study 모임에서 스터디 후, 발표된 내용입니다. Link : k8skr-study-architecture Github Kubernetes Volume Kubernetes 에서 Volume 으로 사용 가능한 유형은 아래와 같습니다. emptyDir hostPath gitRepo Openstack Cinder cephfs iscsi rbd 그 외 Public Cloud Storage 이처럼 Kubernetes 에서는 다양한 Volume 을 지원합니다. 책에 소개된 emptyDir / hostPath / gitRepo 에 대해 예제와 함께 어떤식으로 사용이 되는지 확인 해보겠습니다. 추가로 책에는 없는 nfs / cephfs / rbd 를 Kubernetes Volume...
chhanz's profile imagechhanz
2019-04-12
-
[Kubernetes] Kubernetes HPA 테스트
Auto-Scale 기능 테스트 [Kubernetes] Kubernetes Horizontal Pod Autoscaler 테스트 Kubernetes 의 Horizontal Pod Autoscaler(이하 HPA) 를 테스트 해보겠습니다. 부하 테스트 Image 생성 Dockerfile 을 생성합니다. FROM php:5-apache ADD index.php /var/www/html/index.php RUN chmod a+rx index.php Docker image에 같이 추가 될 index.php 를 생성합니다. ?php $x = 0.0001; for ($i = 0; $i <= 1000000; $i++) { $x += sqrt($x); } echo "OK!"; ?> Image 를 Build 합니다. # docker build -t hpa-example . Sending build context to Docker daemon...
chhanz's profile imagechhanz
2019-04-09
-
[GPFS] CentOS 7 - IBM GPFS Hands on Tranining
[GPFS] CentOS 7 - IBM GPFS Hands on Tranining 목표 Hands-on 구성도 Hands-on 환경 OS Version : CentOS 7.3 Kernel Version : 3.10.0-514.el7.x86_64 GPFS Version : gpfs v4.2.2-3 OS Configuration : SSH Key Copy 완료 Hands-on Lab Cluster 구성 [root@gpfs1 desc]# mmcrcluster -N node_desc --ccr-disable -p gpfs1 -s gpfs2 -r /usr/bin/ssh -R /usr/bin/scp -C gpfscluster mmcrcluster: Performing preliminary node verification ... mmcrcluster: Processing quorum and other critical nodes ... mmcrcluster: Finalizing the cluster data structures...
chhanz's profile imagechhanz
2019-04-05
-
[Linux] CentOS 7 HP SSACLI Command 사용법
[Linux] CentOS 7 HP SSACLI Command 사용법 벤더(IBM,HP,Dell 등) 의 x86 하드웨어에서는 Linux 운영체제 상에서 하드웨어 레이드 컨트롤러의 상태를 확인 할 수 있는 도구들을 제공하고 있습니다. HP의 경우, Smart Storage Adminstrator 관리 명령어를 제공하고 있습니다. (예전에는 hpssacli, hpasucil 와 같은 명령어였습니다.) 현재는 ssacli 로 변경 되었으며, Linux 운영체제상에서 하드웨어 RAID 구성, 상태 확인, 변경등이 가능하도록 지원하는 HP 에서 제공되는 관리 도구 입니다. SSACLI 설치 Download : HP Support Link 위 HP Support 페이지에서 해당 rpm...
chhanz's profile imagechhanz
2019-04-01
-
[Linux] CentOS 7 raw device 자동 생성 스크립트
[Linux] CentOS 7 raw device 자동 생성 스크립트 고객사에서 Multipath 로 생성된 mpath device 를 raw device 로 생성하는 작업이 있었습니다. 너무 많은 mpath device 를 raw device 로 생성을 하다보니, 오타도 발생되고 작업 환경을 콘솔에서 하다보니 불편함도 있다보니 해당 스크립트를 만들었습니다. Download Link GitHub Raw Script 사용 방법 Multipath Device 의 mpath 를 기준으로 해당 DM_UUID 값을 생성하여 60-raw.rules.$DATE 파일로 생성합니다. 1) Multipath List 확인 # multipath -ll | grep mpath mpathb (3600c0ff00011e91abe3a475901000000) dm-3...
chhanz's profile imagechhanz
2019-03-31
-
Docker Swarm 을 이용한 Container Orchestration 환경 만들기
회사 기술블로그에 작성한 내용입니다. 오픈소스컨설팅 기술블로그 Author. chhanz 안녕하세요? 오픈소스컨설팅 한철희 과장입니다. 이전 " Docker 이해하기 " 를 포스팅에 이어, " Docker Swarm 을 이용한 Container Orchestration 환경 만들기 " 라는 포스팅을 작성하게 되었습니다. (Review - Docker 이해하기 ) 이전 포스팅에서 Docker 를 직접 사용하면서 여러 장점을 확인했습니다. 하지만 과연 실무에 적용하면 안정적으로 서비스를 유지하고 운영할 수 있을지에 대해서는 의문을 가지고 있었습니다. 이러한 의문은 Container 들을 자동으로 관리하게 해주는 Container Orchestration Tool 을 활용함으로써 해결을...
chhanz's profile imagechhanz
2019-02-13
-
[ansible] ansible-vault 를 이용하여 암호화 하기
[ansible] ansible-vault 를 이용하여 암호화 하기 아래는 Ansible 을 이용하여 특정 node 에 httpd 를 설치하는 간단한 ansible 구문 입니다. --- - hosts: node tasks: - name: install httpd yum: name=httpd state=present - name: Start web server service: name=httpd state=started ansible 을 이용하여, node host 에 접근해서 httpd 설치 명령을 실행하기 위해서는 ansible 에서 사용될 User 정보 및 Password 정보, ssh 접근에 대한 정보 등을 사전에 ansible 시스템에 추가하거나 vars 혹은 inventory 에 설정을 해야됩니다....
chhanz's profile imagechhanz
2019-01-30
-
[Linux] logger 를 이용한 로그 관리
[Linux] logger 를 이용한 로그 관리 /var/log/messages 는 syslogd 를 이용하여 로그를 기록합니다. 주로 시스템의 핵심 로그가 작성되고, 해당 파일을 모니터링하여 시스템의 장애에 대해 파악하기가 좋습니다. 시스템을 운영하면서 특별히 /var/log/messages 에 별도의 메시지를 기록하기 위해서는 logger 라는 명령을 사용하면 쉽게 적용이 가능합니다. 아래는 이번 포스팅을 위해 httpd Web 서비스가 정상인지 체크하는 간단하게 제작된 스크립트입니다. 해당 스크립트에서 발생되는 메시지를 /var/log/messages 에 기록 하도록 하겠습니다. Check Web #!/bin/bash echo -e " " echo -e " Service Check...
chhanz's profile imagechhanz
2019-01-19
-
[Linux] systemd 에 Service 등록
RHEL/CentOS [Linux][RHEL/CentOS] systemd 에 Service 등록 Systemd 에 사용자가 자주 사용하는 Service 를 등록하고 Systemd 를 통해 관리 할 수 있습니다. 아래는 Systemd 에 등록할 Service Script 입니다. Systemd test 용 Script #!/bin/bash echo -e " Start Systemd Test " | logger -t Testsystemd while : do echo -e "Running systemd" sleep 30 done systemd 에 Service 등록 systemd 에 서비스를 등록하기 위해 아래 경로에 아래와 같이 설정을 합니다. # vi /etc/systemd/system/testchk.service // /etc/systemd/system/testchk.service 내용 [Unit]...
chhanz's profile imagechhanz
2019-01-18
-
[Linux] CentOS 6 Python 2.7 설치
[Linux] CentOS 6 Python 2.7 설치 CentOS 6 의 기본 Python 버전은 v2.6 입니다. CentOS 의 응용프로그램들은 Python 2.6 과 호환되도록 설정되어있고, 이를 Update 를 할 경우 다수의 응용프로그램들이 문제가 발생 할 수 있습니다. 하지만 일부 시스템은 몇몇 소프트웨어를 사용하기위해, 최신 버전의 Python 을 사용하기 원합니다. 위와 같은 일부 시스템에 최신 버전의 Python 을 설치하기 위해서는 다음과 같은 절차로 설치를 진행하면 됩니다. SCL Repository 연결 yum 명령을 통해 SCL Repository 를 연결합니다. # yum install...
chhanz's profile imagechhanz
2019-01-09
-
[Docker] Spacewalk latest Docker Image 제작기
Spacewalk latest Docker Image 제작기 안녕하세요? chhanz 입니다. 고객사의 요청으로 Spacewalk 를 docker container 형태로 운영을 해야되는 요건이 생겨서, image를 만들기 시작 하였습니다…… ;( Spacewalk 란? Spacewalk는 오픈 소스 Linux 시스템 관리 솔루션입니다. Red Hat Satellite 제품이 파생 된 업스트림 커뮤니티 프로젝트입니다. @Go to detail @[오픈소스컨설팅]클라우드자동화 및 운영효율화방안 쉽게 가자… docker 의 장점이 뭡니까! docker hub의 많은 official image 아닙니까! 열심히 docker image를 찾아보았습니다. 하지만… # docker search spacewalk INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED...
chhanz's profile imagechhanz
2019-01-07
-
[Linux] Default boot kernel 변경 방법
RHEL/CentOS RHEL / CentOS 7 - Default boot kernel 변경 방법 시스템을 부팅을 하면서 GRUB Menu 에서 Kernel 을 특정 버전으로 선택하여, 부팅을 할 수 있습니다. 하지만 시스템을 물리적으로 접근이 불가능하거나, 원격으로만 작업이 가능할 경우에는 아래와 같은 방법으로 Default boot Kernel 을 변경해서 특정 버전으로 선택하여 부팅을 할 수 있습니다. 주로 Kernel Update 이후, Kernel Version 원복 등으로 사용 할 수 있습니다. Kernel Entry 확인 GRUB Menu 에서 Kernel Entry 가 어떻게 나올지 확인을 합니다. #...
chhanz's profile imagechhanz
2018-12-14
-
[Docker] Docker 기초 실습 교육자료
Docker 기초 실습 교육 자료 엔터프라이즈 고객사 IT 부서 담당자분들께 실습 교육을 위해 제작한 교육 자료 입니다. (해당 실습을 위한 자료는 Github 에 있습니다.) [오픈소스컨설팅]Docker기초 실습 교육 20181113_v3 from Ji-Woong Choi 참고 자료 Slideshare : https://www.slideshare.net/ienvyou/docker-20181113v3 chhanz Github : https://github.com/chhanz/docker_training
chhanz's profile imagechhanz
2018-11-13
-
[AIX] System Information collection Script
[AIX] System Information collection Script 회사 U2C 솔루션 개발을 하는 중, AIX 에서 필수 시스템 정보를 수집하는 Script 가 필요로 해서 간단하게 제작한 Script 입니다. Script 내용 #! /bin/ksh # Make by. chhan DATEC=$(date +%Y%m%d-%H%M) IdChk=`id | grep root | wc -l` OutFile="`hostname`_"$DATEC".txt" #Checking ROOT if [ $IdChk -eq 0 ]; then echo echo "You must login root... Try again..." echo exit fi echo " * * * * * Check AIX System Information *...
chhanz's profile imagechhanz
2018-11-04
-
[VMware] ESXi VM Clone Script
ESXi - VM Clone Script ESXi 는 VMware 에서 제공하는 Hypervisor 입니다. VMware 의 모든 가상화 기술을 이용하기 위해서는 vCenter 를 필수로 사용해야합니다. 하지만 유료 라이센스라 제약 사항이 있습니다.(개인 사용자의 경우ㅠㅠ) 제일 많이 사용되고 필요로 하는 기능중 하나가 바로 VM Clone 을 하는 기능입니다. vCenter 가 없이 ESXi 에서 VM Clone 을 하는 방법을 알아봅시다. Test 환경 VMware ESXi-6.7.0-8169922-standard (VMware, Inc.) ESXi ssh enable 위와 같이 ESXi 에서 [작업] > [서비스] > [SSH 사용] 을...
chhanz's profile imagechhanz
2018-10-23
-
[Linux] CentOS 7 raw device 생성
[Linux] CentOS 7 raw device 생성 raw device 생성을 위해 아래 절차를 따라 /etc/udev/rules.d/60-raw.rules 을 수정합니다. udev rules 을 사용하여 raw device 를 생성합니다. # vi /etc/udev/rules.d/60-raw.rules SCSI Device 를 사용하는 경우, ACTION=="add|change", KERNEL=="sdc", RUN+="/usr/bin/raw /dev/raw/raw1 %N" multipath device 를 사용하는 경우, ACTION=="add|change", ENV{DM_NAME}=="mpath1", RUN+="/usr/bin/raw /dev/raw/raw1 %N" LVM device 를 사용하는 경우, ACTION=="add|change", ENV{DM_VG_NAME}=="vg_test", ENV{DM_LV_NAME}=="lv_test1", RUN+="/bin/raw /dev/raw/raw1 %N" raw device 의 권한 설정 ACTION=="add", KERNEL=="raw*", OWNER="oracle", GROUP="dba", MODE="0660" udev rules 갱신 # udevadm trigger --action=add raw...
chhanz's profile imagechhanz
2018-10-01
-
[Docker] Docker 이해하기
회사 기술블로그에 작성한 내용입니다. 오픈소스컨설팅 기술블로그 안녕하세요 오픈소스컨설팅 한철희 과장입니다. 이번에는 개발자, 시스템 운영자 등등 IT 업계에 계신다면 많이 들어본 Docker 에 대해 포스팅 해보려고 합니다. Docker 의 기초적인 내용부터 활용까지 알아보도록 하겠습니다. 이미지 출처 : flickr 위 사진을 보면 항구에 정박되있는 배가 있습니다. 해외 수출, 수입을 위해 많은 컨테이너를 적재한 모습입니다. 위키백과에서는 컨테이너를 이렇게 정의 하고 있습니다. 컨테이너 ( 영어 : Container )는 철판으로 만들어져 재사용 이 가능한 규격화된 통으로 화물을 옮길 때 쓴다....
chhanz's profile imagechhanz
2018-09-10
-
[Linux] Bonding Network Currently Active Slave 변경
RHEL/CentOS RHEL / CentOS 7 Bonding Currently Active Slave 변경 Bonding(본딩) 는 이중화 구성을 통한 빠른 장애 대응 및 네트워크 대역폭 증가에 매우 유용합니다. 아래 절차는 본딩 인터페이스를 중단하지 않고, Slave 인터페이스로 전환하는 방법을 설명하려고 합니다. # cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface:...
chhanz's profile imagechhanz
2018-08-16
-
[PowerKVM] PowerKVM Install Guide
[PowerKVM] PowerKVM Install Guide IBM PowerKVM Install Guide 입니다. IBM PowerKVM Install Guide from CheolHee Han 작성일 : 2018.08.01 배포일 : 2019.01.14
chhanz's profile imagechhanz
2018-08-01
-
[Linux] CentOS 7 네트워크 Bonding 구성
[Linux] CentOS 7 네트워크 Bonding 구성 CentOS 7 에서 bonding 구성을 위해서는 아래와 같은 절차가 필요합니다. CentOS 7 에서는 bonding 모듈이 기본적으로 로드가 되어 있지 않습니다. 아래 명령을 통해 boning 모듈을 로드합니다. # modprobe --first-time bonding Bond Interface 생성 Bond Interface 생성을 하기위해서는 /etc/sysconfig/network-scripts/ 의 ifcfg-bond0 파일을 생성해야됩니다. # cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 NAME=bond0 TYPE=Bond IPADDR=10.0.0.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none BONDING_OPTS="mode=1 miimon=100" SLAVE Interface 생성 bond Interface 의 SLAVE Interface 파일을 생성합니다. /etc/sysconfig/network-scripts/ 의 ifcfg-eth1 과 ifcfg-eth2...
chhanz's profile imagechhanz
2018-03-02
-
[AIX] hdisk format - diag command
AIX - DISK FORMAT 주로 AIX 에서는 diag 를 통해 hdisk format 을 진행하고 데이터 삭제 검증을 합니다. 하지만 동시에 여러개의 hdisk 를 format 을 진행 할 수는 없습니다. 아래와 같이 명령어를 이용하면 동시에 hdisk format 이 가능합니다. /usr/lpp/diagnostics/bin/uformat -d hdisk1 -c -o format 동시에 여러 hdisk format 진행 하는 Command lspv | grep None | awk '{print "/usr/lpp/diagnostics/bin/uformat -d "$1" -c -o format &"}' | sh -x
chhanz's profile imagechhanz
2018-02-21
-
[RHEL] Local Yum Repository 만들기
[RHEL] Local Yum Repository 만들기 Red Hat Enterprise Linux 설치 ISO 및 물리 DVD 가 있다면 외부 rhn 을 사용하지 않고, base yum Repository 를 만들 수 있습니다. 구성 절차는 아래와 같습니다. DVD 혹은 ISO 파일 mount 진행 ISO 파일의 경우, 시스템에 Upload 진행합니다. // DVD # mount /dev/sr0 /mnt // ISO # mount /root/rhel-server-7.5-x86_64-dvd.iso /mnt Local Disk 로 DVD 혹은 ISO 파일 데이터 복사 # cp -rpH /mnt /home/repo # vi /etc/yum.repos.d/media.repo /etc/yum.repos.d/media.repo 내용...
chhanz's profile imagechhanz
2018-02-02
-
[AIX] Create a raw Logical Volume for Oracle ASM On AIX
Create a raw Logical Volume for Oracle ASM On AIX Raw Device 의 용량 산정은 VG 의 PP Size 를 기준으로 합니다. # lsvg RAWVG VOLUME GROUP: RAWVG VG IDENTIFIER: 00c25b6700004c00000001399f63219x VG STATE: active PP SIZE: 64 megabyte(s) VG PERMISSION: read/write TOTAL PPs: 30 (1920 megabytes) MAX LVs: 4096 FREE PPs: 6 (384 megabytes) LVs: 3 USED PPs: 24 (1536 megabytes) OPEN LVs: 3 QUORUM: 2 (Enabled) TOTAL PVs: 1 VG DESCRIPTORS: 2 STALE PVs:...
chhanz's profile imagechhanz
2017-05-25
-
[AIX] Could not load program: Cannot run a 64-bit program until the 64-bit environment has been configured.
Could not load program: Cannot run a 64-bit program until the 64-bit environment has been configured. aix maintenance mode 로 부팅 진행 후, shell 환경에서 아래와 같이 Error 가 발생하면서 일부 명령어들이 정상 작동 하지 않습니다. cf. Booting AIX into Maintenance Mode Error 내용 # ls Could not load program ls: Cannot run a 64-bit program until the 64-bit environment has been configured. See the system administrator. 해결 방법 # /etc/methods/cfg64 해결 이후 # ls...
chhanz's profile imagechhanz
2017-01-16
-
SAN Switch - 운영 매뉴얼
SAN Switch - 운영 매뉴얼 SAN Switch 의 설정을 위해 주로 GUI - Web Console 을 접속합니다. 하지만 장비 및 접속 PC 에 따라 JAVA Version 에 대한 제약 사항으로 인해 접속이 안되는 경우가 많습니다. 그리하여 telnet , ssh 를 통한 CLI 접근을 통해 설정을 하면 편리하게 SAN Switch 설정을 할 수 있습니다. 아래 명령들을 통해 SAN Switch 설정을 배워봅시다. Switch configuration Switch name 변경 switch_name > switchname "san_sw_new_name" Switch Domain ID 변경 Domain ID는...
chhanz's profile imagechhanz
2016-05-13
-
[AIX] RDX Device Backup Guide
[AIX] RDX Device Backup Guide AIX RDX Device Backup Guide 입니다. (RDX 를 이용한 백업 방법입니다.) [AIX] RDX Device Backup Guide from CheolHee Han 2016년 프로젝트 참여하면서 작성한 가이드입니다. 작성일 : 2016.02.15 배포일 : 2019.01.11
chhanz's profile imagechhanz
2016-02-15
-
[HACMP71] Force remove cluster
Force remove cluster - PowerHA 7.1 HACMP 7.1 에서 CAAVG 가 삭제가 안되면서, Cluster 를 제거 할 수 없는 경우가 있습니다. 해당 이슈가 발생 할 경우, 아래와 같이 진행 하면 됩니다. # lspv | grep caavg hdiskpower426 000000000r508909 caavg_private active There is caavg so customer failed to create new HA cluster. ...
chhanz's profile imagechhanz
2014-07-25
-
[AIX] LVM 이란?
LVM 이란? 사원 시절 작성한 문서입니다. AIX - LVM 이란? from CheolHee Han 작성일 : 2014.01.12 배포일 : 2019.01.10
chhanz's profile imagechhanz
2014-01-12
-
[Windows] MSCS Cluster 구성 메뉴얼
Windows 2003 / Windows 2008 [Windows] MSCS Cluster 구성 메뉴얼 사원 시절, 작성한 Windows MSCS 구성 메뉴얼 입니다. Windows 2008 MSCS 설치 가이드 from CheolHee Han Windows 2003 MSCS 설치 가이드 from CheolHee Han Windows MSCS 운영 및 기타 설치 가이드 from CheolHee Han 작성일: 2013-04-27 배포일: 2019-01-10
chhanz's profile imagechhanz
2013-04-27
-
[AIX] Mirror 상태인 VG, alt_disk_install 하는 법
Mirror VG, 한개의 PV 로 alt_disk_install 하는 방법 Mirror 된 VG 를 alt_disk_install 을 진행하면 target PV 는 2EA 가 필요합니다. 따라서 Mirror 된 VG 는 한개의 target PV 에 하기 위해서는 -i 옵션을 사용합니다. image.data 수정 -i 옵션에 사용될 image.data 를 수정합니다. # lspv hdisk0 000aaaa120011111 rootvg active hdisk1 000aaaa120222222 rootvg active hdisk2 none None # vi /image.data ## lv_data의 항목중 * LV_SOURCE_DISK_LIST= hdisk0 hdisk1 -> hdisk0로 변경 * COPIES= 2 -> 1로 변경...
chhanz's profile imagechhanz
2012-12-28
-
[AIX] JFS vs JFS2
JFS 와 JFS2의 차이점 JFS 와 JFS2 차이점 JFS2 는 AIX V4.3. 에서 소개되었던 JFS 의 upgrade version JFS 와 JFS2 는 모두 AIX 에 기본적으로 탑재되어 있습니다. 다만 POWER system 에서는 JFS/JFS2 를 모두 사용할 수 있지만, IA64 system 에서는 JFS2 만 사용할 수 있습니다. JFS vs JFS2 Function JFS2 JFS Fragments/Block Size 512~4096 Block Size 512~4096 Block Size Architectural Maximum File (만들 수 있는 최대 File Size) 1PB(**1) 64GB Architectural Maximum File System Size (만들 수 있는...
chhanz's profile imagechhanz
2012-09-06
-
[AIX] Mirror Disk 교체
Mirror Disk 교체 Mirroring 으로 구성된 rootvg 에서 장애난 DISK 교체 절차는 아래와 같습니다. 장애 디스크 확인 # errpt 613E5F38 1212232603 P H LVDD I/O ERROR DETECTED BY LVM A668F553 1212092003 P H hdisk1 DISK OPERATION ERROR bootlist 확인 # bootlist -om normal bootlist 재설정 # unmirrorvg rootvg hdisk1 Unmirror VG 수행 # unmirrorvg rootvg hdisk1 각 DISK 의 LV 상태 확인 # lspv -l hdisk0 # lspv -l hdisk1 제거가 안되거나, Mirroring 이 아닌...
chhanz's profile imagechhanz
2012-08-26
-
[AIX] Mount CD/DVD & ISO Image
[AIX] Mount CD/DVD & ISO Image CD 혹은 DVD 를 CLI Command 로 Mount : # mount -V cdrfs -o ro /dev/cd0 /mnt ISO Image 를 CLI Command 로 Mount : # loopmount -i aix-6100-09-02-icd.iso -o "-V cdrfs -o ro" -m /mnt
chhanz's profile imagechhanz
2012-08-06