로컬 서버(Laptop)에서 테스트를 위해 VM을 특정한 환경(예를 들어 kubernetes, ceph와 같은)으로 구성해야할 경우가 종종있다. 이때 마다 불필요하게 반복된 작업을 해야할 경우가 있었다. 이를 Terraform을 통해 코드화 하여 한번 구성해 놓으면 이후에도 손쉽게 환경을 구성할수 있도록 해보고자 했다. 검색해보니 아쉽게도 official하게 제공되지는 않지만 libvirt-provider가 있어 이를 활용해 KVM환경에서 VM을 생성 및 관리하는 방법에 대해 알아보고 테스트 했던 내용을 기반으로 기술해보고자 한다. 그럼, Terraform을 이용하여 KVM환경에서 VM을 어떻게 생성하는지 알아보도록 하자. 우선, 실행해보았던 환경은 다음과 같다. jacob@jacob-laptop:~/w..
VirtualBox에서 VM을 시작한후 특정 시점(정확한 시점확인이 되지는 않았지만 network interface add 하는 시점으로 예상된다.)에 hang이 걸리는 현상이 발생되었다. Google 검색을 통해 확인해본 결과 Hyper-V와 호환성 문제가 있는듯하다. 문제 상황이 발생되었던 시점이 Hyper-V 를 "기능 켜기/끄기"에서 enable 하고 재부팅한 시점부터 발생되었었다. Hyper-V 기능을 끈후 다시 재부팅하여 현상이 없어짐을 확인하였다. https://superuser.com/questions/1145011/is-virtualbox-incompatible-with-hyper-v-in-windows-10 Is Virtualbox incompatible with Hyper-V in W..
Virtualbox 를 ubuntu 상에 설치후 vagrant up을 통해 provision을 수행시 아래와 같이 에러가 발생되는 경우가 있었다. jacob@jacob-laptop:~/workspaces/vagrant-jenkins$ vagrant up --provider=virtualbox The provider 'virtualbox' that was requested to back the machine 'default' is reporting that it isn't usable on this system. The reason is shown below: VirtualBox is complaining that the installation is incomplete. Please run `VBoxMan..
vagrant는 다양한 provison 방법을 사용할 수 있다. 이중 ansible을 이용하는 방법에 대하여 알아보자. Vagrantfile 내에 아래와 같이 ansible playbook.yml 파일 위치를 지정시켜준다. ansible을 지정하고 playbook의 위치를 지정한다. 기본적으로는 playbook이 필요하지만 필요에 따라 다른 설정(변수 지정 및 호스트 그룹 추가 등)을 추가할수 있다. https://www.vagrantup.com/docs/provisioning/ansible_intro.html Vagrant.configure(2) do |config| config.vm.provision "ansible" do |ansible| ansible.playbook = "provision/pla..
vagrant란? vagrant 홈페이지 첫 페이지에 나와있는 "Development Environments made easy"라는 문구에서 볼수 있듯이 손쉽게 개발 환경을 만들수 있게 도와주는 도구이다. 실제로 개발에 사용된 application이 설치되어 있거나 혹은 빈 Virtual Machine을 손쉽게 만들어서 개발에 사용할 수 있도록 해준다. https://www.vagrantup.com/ vagrant 사용법 ubuntu 19.04 를 laptop으로 사용하는 환경에서 KVM을 hypervisor로 하여 진행 아래와 같은 명령을 참고하여 사용한다. vagrant box list vagrant init vagrant up vagrant status vagrant halt vagrant dest..
Red Hat Virtualization에서 Nested Virtualization 을 사용하는 방법을 기술한다. nested Virtualization을 사용할 Host에 아래 Package를 설치한다. [root@localhost \]# yum install vdsm-hook-nestedvt 이후 Manager로 접속하여 해당 Host에 Kernel parameter를 추가한다. 마지막으로 Host를 재구동한다.[root@localhost \]# reboot 이후 다시 접속해보면 아래와 같은 결과와 함께 module이 확인된다. [root@localhost \]# cat /sys/module/kvm_intel/parameters/nested Y 참고사이트- https://bugzilla.redhat...
Red Hat Enterprise Linux Kernel Source Code 분석 Red Hat Enterprise Linux 7.4 에 base kernel인 3.10.0-693에 대해 source code를 다운로드 받고 package 상에 포함된 code를 확인하는 방법을 기술한다. https://access.redhat.com/downloads로 접속하여 분석을 원하는 SRPM package를 다운로드 받는다.앞서 이야기했듯이 우리는 kernel 3.10.0-693에 대한 source code를 보고자 하기에 아래 링크를 통해 다운로드를 받는다.https://access.redhat.com/downloads/content/rhel---7/x86_64/2456/kernel/3.10.0-693.el..
다음과 같은 return value를 변수로 등록하고 실제 playbook 상에서 사용할 수 있다. tasks: - name: get vg name shell: > vgdisplay | grep "VG Name" | awk '{print $3}' register: vgname_result - set_fact: vgname={{ vgname_result.stdout }} - name: print name shell: lvdisplay -v /dev/{{vgname}}/root 위와 같이 set_fact를 사용하여 객체가 아닌 실행 결과만을 전달받을수 있다. 일반적으로 return 된 결과는 아래와 같이 여러 속성을 포함한 결과를 return 한다. ok: [localhost] => { "msg": { "c..
- Total
- Today
- Yesterday
- kubernetes
- Terraform
- nginx-ingress
- macvlan
- OpenStack
- minikube
- kata container
- openstacksdk
- open policy agent
- azure policy
- Jenkinsfile
- mattermost
- minio
- openstack backup
- boundary ssh
- socket
- ansible
- DevSecOps
- crashloopbackoff
- GateKeeper
- ceph
- K3S
- vmware openstack
- metallb
- hashicorp boundary
- aquasecurity
- Helm Chart
- wsl2
- kubernetes install
- jenkins
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |