Notice
Recent Posts
Recent Comments
Link
딸기말차
[MSA] 9. centOS, Kubernates 설치 본문
엔코아 플레이데이터(Encore Playdata) Backend 2기 백엔드 개발 부트캠프 (playdata.io)
백엔드 개발 부트캠프
백엔드 기초부터 배포까지! 매력있는 백엔드 개발자 포트폴리오를 완성하여 취업하세요.
playdata.io
1. 가상환경 생성
# VM Ware 및 Cent OS 설치
https://www.virtualbox.org/wiki/Downloads
http://mirror.kakao.com/centos/7.9.2009/isos/x86_64/
# 네트워크 설정
어댑터 1 : NAT
어댑터 2 : 호스트 전용 어댑터
# 가상머신 로그인
# 가상머신 호스트키 단축키 설정
# 네트워크 설정을 위해 디렉토리 이동
cd /etc/sysconfig/network-scripts
# yum 설치 및 업데이트
yum update
# ifconfig 사용을 위한 net-tools 설치
yum install net-tools
# vim 설치
yum install vim -y
ip 확인을 위해 net-tools와, vi보다 좀 더 편한 vim을 사용하기 위한 설치를 진행하였다.
# ifcfg-enp0s3 설정
vim ifctg-enp0s3
# ifcfg-enp0s8 설정
vim ifctg-enp0s8
# 수정한 설정정보 등록
systemctl restart network
# cmd에서 ping을 날려 연결상태 확인
2. Putty를 사용해 Docker 및 Kubernates 설치
# 가상머신 ip를 통해 putty 실행
# 가상머신 계정을 통해 putty 접속
# 도커 설치 및 커맨드 등록
vim ~/.bashrc
# root로 이동
su root
# 보안 설정
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# 방화벽 확인
systemctl status firewalld
# 방화벽 정지
systemctl disable firewalld
# 네트워크 설정
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
modprobe br_netfilter
## 등록한 가상 컴퓨터를 클러스터로 묶기위한 설정
m : master
w : worker node
vim /etc/hosts
# ping 가는 것 확인
ping m-k8s
# DNS 설정
cat <<EOF > /etc/resolv.conf
nameserver 1.1.1.1 #cloudflare DNS
nameserver 8.8.8.8 #Google DNS
EOF
# OCI로 내보내기 위해 가상머신 OS 종료
shutdown -h now
OCI로 내보내기 위해 기존에 virtual box로 실행중이던 cent OS를 중지하였다.
# OCI로 내보내기
# 가상 시스템 등록
3. 쿠버네티스 설치 및 클러스터 설정
# 쿠버네티스 설치
yum install kubectl-1.18.4 -y
yum install kubelet-1.18.4 -y
yum install kubeadm-1.18.4 -y
systemctl enable --now kubelet
# 가상 OS를 여러개 실행, 여러 컴퓨터를 실행하는 효과
해당 기능을 통해 3개의 컴퓨터를 클러스터로 묶어 사용하였다.
# 클러스터 실행을 위해 cpu를 늘린다.
# ip를 변경하기 위해 접근
vim /etc/sysconfig/network-scripts/ifcfg-enp0s8
192.168.56.11
systemctl restart network
# hostname
hostnamectl set-hostname [ ]
# 클러스터 구축
kubeadm
# 토큰을 통해 Master 노드 join
sudo kubeadm init --token 123456.1234567890123456 --token-ttl 0 \
--pod-network-cidr=172.16.0.0/16 --apiserver-advertise-address=192.168.56.10
# 추가설정
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 활동 객체 설정과 최신 적용 설정을 업데이트
kubectl apply -f \
https://raw.githubusercontent.com/sysnet4admin/IaC/master/manifests/172.16_net_calico.yaml
# 연결 된 노드 확인
kubectl get nodes
# 파드 확인
kubectl get pods -n kube-system
4. 56일차 후기
최근엔 AWS 같은 Public Cloud 환경을 많이 지원하지만, 온프레미스 식으로 서버 환경을 구축하기 위해서 사용하는 방법 중 하나인 centOS를 사용해 보았다.
AWS에서 몇 가지 버튼만으로 설정할 수 있는 내용을 직접 구성하는게 쉽지 않다는 생각이 들었고, 이후 이를 쿠버네티스로 활용하기 위해 쿠버네티스 설치를 진행하였다.
'Bootcamp > MSA' 카테고리의 다른 글
[MSA] 11. Kubernates Pod (0) | 2023.10.24 |
---|---|
[MSA] 10. OS, 회복성 패턴, Kubernates 설정 (0) | 2023.10.23 |
[MSA] 8. Config Server, Eureka Server (0) | 2023.10.19 |
[MSA] 7. Docker 활용, ConfigServer (0) | 2023.10.13 |
[MSA] 6. Docker 활용, SQL 예제 (0) | 2023.10.12 |