환경 구성하기
1. Ubuntu에 필수 패키지 설치하기
- 네트워크 설정
vmware에서 Edit > Virtual Network Editor로 들어가면 위와같이 네트워크를 설정할 수 있다. 우리는 211.183.3.0 대역을 사용하자.
가상머신을 import 하면 어디에 가상머신 네트워크를 엮을지 고를 수 있는 데 VMnet8에 엮어주자
이건 마스터 가상머신이다.
su
pw: test123
sudo apt-get install -y ssh
sudo systemctl enable ssh
sudo systemctl restart ssh
sudo ufw disable
# docker 공식 홈페이지 설치과정이다.
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl enable docker
sudo systemctl restart docker
sudo swapoff -a
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF > /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
systemctl daemon-reload
systemctl restart kubelet
* apt 사용시 문제가 발생할 경우 아래 실행한 뒤 진행
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
sudo dpkg --configure -a
sudo apt update
master와 모든 노드에 vi /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
---
root : test123/test123
user: user1/user1
# Starter Pack
yum -y install epel-release
yum install -y vim net-tools curl wget git tree nfs-utils httpd ansible && yum update -y
서버포럼 - Cent OS 커널 최신버전으로 업데이트 하기. (svrforum.com)
# 저장소와 인증키 가지고 오기
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 실재 커널 설치
sudo yum --enablerepo=elrepo-kernel install -y kernel-lt
# 실재 커널의 추가적인 라이브러리 설치
sudo yum --enablerepo=elrepo-kernel install -y kernel-lt-{devel,headers,perf}
# 내용 수정
vi /etc/default/grub
# 설치된 커널 버전들을 볼 수 있다.
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2
# CentOS 5.4로 고정해준다 - 나는 5.4.196이 설치되어 있어서 이걸로 해주었다.
grub2-set-default "CentOS Linux (5.4.196-1.el7.elrepo.x86_64) 7 (Core)"
[Vagrant] Vagrant VM 디스크 용량 늘리기 with CentOS (tistory.com)
2. br0(linux bridge)만들고 기존 물리 인터페이스를 br0에 포함시켜보자. 단, 현재 인터페이스 이름이 ens32와 같은 이름이므로 이를 eth0으로 수정 한뒤, br0에 포함시킨다.
2.2 vi /etc/default/grub
vi /etc/default/grub
GRUB_CMDLINE_LINUX 끝에 net.ifnames=0 biosdevname=0를 추가해주자 이렇게 해야만 인터페이스 이름이 바뀐다. 안해주면 위에서 해주었던 eth0의 이름이 안 바뀐다.
그리고 이걸 부팅 파일에 적용해주어야 한다.
grub2-mkconfig -o /boot/grub2/grub.cfg
하고 재부팅하여 `ip a` 했을 때, eth0에 211.183.3.77이 등록되어 있고 ping이 가능해야 한다.
이제 컴퓨터를 재시작하면서 5.4.196으로 부팅되는지 확인하자
다시 컴퓨터를 끄고 snapshot을 찍어주자
3. br0 생성하고 eth0을 br0의 포트로 등록 시키기
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
vi ifcfg-br0
마지막으로 ifcfg-eth0의 내용을 바꾸어 주기만 하면 된다.
systemctl enable network ; systemctl restart network
그 결과 eth0에는 ip가 없고 br0에는 ip가 있으면 된다.
brctl show
를 했을때 br0가 보이면 된다.
yum -y install libguestfs libguestfs-utils libvirt qemu-kvm virt-install virt-manager virt-viewer
# 패키지 설치
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum -y install libvirt-daemon-kvm libvirt-client vagrant gcc-c++ make libstdc++-devel libvirt-devel
# libvirtd와 vagrant 실행
systemctl restart libvirtd
vagrant plugin install vagrant-libvirt
vagrant -v
ssh-keygen -q -f ~/.ssh/id_rsa -N ''
해놓으면 가상머신이 만들어지고 내부에 키값이 생기는데 이걸 꺼내와야 한다.
```
vagrant ssh centos-m
```
ssh-keyscan 211.183.3.201 >> ~/.ssh/known_hosts
ssh-keyscan 211.183.3.202 >> ~/.ssh/known_hosts
ssh-keyscan 211.183.3.203 >> ~/.ssh/known_hosts
```
vagrant provision
```
```
ssh-keygen -q -f ~/.ssh/id_rsa -N ''
```
```
ansible-playbook 11.master.yaml
```
에러
이걸로 해결시도중
'Development(Web, Server, Cloud) > Cloud : 실습' 카테고리의 다른 글
Vagrant + Ansible + KubeSpray (0) | 2022.05.26 |
---|---|
AWS VPC를 만들어보자 (0) | 2022.01.18 |
HAPROXY를 써보자 (0) | 2022.01.18 |