본문 바로가기

Development(Web, Server, Cloud)/Cloud : 정리17

IaC : Terraform CentOS8 로 설치를 진행해준다. 설치가 완료되면 위와같이 br0 에 eth0와 가상머신들이 물린형태를 만들어 주어야 한다. # 네트워크 vi /etc/default/grub cd /etc/sysconfig/network-scripts/ vi ifcfg-ens160 mv ifcfg-ens160 ifcfg-br0 cp ifcfg-br0 ifcfg-eth0 vi ifcfg-eth0 vi ifcfg-br0 ##### # firewall 종료 systemctl stop firewalld systemctl disable firewalld # selinux 종료 setenforce 0 vi /etc/selinux/config # 이 파일 안에 net.ipv4.ip_forward = 1 입력하기 vi /etc/s.. 2022. 6. 7.
kubernetes(k8s) 정리 part1 라벨링(label) 특정 포드를 특정 노드에 배포하고 싶은 경우가 있을 수 있다. 이 경우에는 특정 노드를 지정하기 위하여 라벨을 사용할 수 있다. 특정 노드에 배치할 수 있는 방법 1) Pod 배포시 spec에 배포될 Node 의 이름을 작성한다. 2) Node에 label을 부착하고 pod 배포시 해당 label을 지정한다. - 이렇게 하면 같은 라벨을 부착할 수도 있고 구지 노드별로 yaml을 만들어줄 필요도 없어진다. Pod를 확장해서 Deployment나 Replicaset으로 지정하면 Pod 별로 스케쥴링이 되어 배포된다. 노드에 라벨을 부착하고 Deployment, ReplicaSet 을 이용하여 포드의 숫자를 다수로 설정했을 경우에는 각 포드별로 스케줄링이 되므로 모든 포드가 하나의 노드에.. 2022. 5. 19.
IaC : Ansible, Vagrant, Terraform 사전 설정 문제는 DC에 너무 많은 compute node들이 존재한다. 이들이 관리가 안된다. 그래서 우리가 필요하다고 느끼는 노드에 가서 하이퍼 바이저를 이용하여 VM을 생성하라고 요청을 받으면 하이퍼바이저가 위쪽에 vResource가 할당되고 그 위에 VM이 생성된다. ㅇ 그래서 전체를 클러스터로 묶고, 전체를 오케스트레이션 하기 위한 도구가 필요해지는데 이 도구를 우리는 controller라고 부른다. 보통 DC에는 노드들이 위치하게 되는데 하나는 compute 노드(HV 노드 : 인스턴스, vNetwork 만듬), Controller를 이용한 오케스트레이션을 한다, 관리자는 controller에 작업지시를 해서 인스턴스에 작업을 수행한다. 이때의 controller 노드에도 오케스트레이션, 인증.. 2022. 5. 19.
CICD : Jenkins, gitlab, githosting, github action jenkins, gitlab, githosting 중 하나를 사용해야 한다. Jenkins jenkins를 이용해서 스크립트를 짜고 동작시키는 것이다. 이 스크립트 내용안에는 git clone, pull 중 하나를 하라고 한다. 그리고 new Image를 master node에서 만든다. 이미지를 바로 worker에 전달못하니 일단 docker hub에 올려버린다. 그리고 worker들은 docker hub에서 받아다가 rolling update 해버리면 된다. 그럼 개발자는 직접적으로 서비스에 들어가지 말고 git에 올리고 jenkins를 사용하기만 하면 된다. 이걸 또 자동화 시키기 위해 github의 변화를 감지하는 무언가를 붙이면 된다. jenkins를 설치하는 방법은 서버에 직접설치하는 방법과 .. 2022. 5. 19.