개발/Infra

(인강복습) 쿠버네티스 어나더 클래스 Sprint 2 - 손쉽게 데브옵스 환경을 구축하는 방법

희묭 2025. 4. 11. 15:12
반응형

 

echo '======== [1] Rocky Linux 기본 설정 ========'
echo '======== [1-1] 패키지 업데이트 ========'
# 강의와 동일한 실습 환경을 유지하기 위해 Linux Update 주석 처리
# yum -y update

echo '======== [1-2] 타임존 설정 ========'
timedatectl set-timezone Asia/Seoul

echo '======== [1-3] 방화벽 해제 ========'
systemctl stop firewalld && systemctl disable firewalld

echo '======== [2] Kubectl 설치 ========'
echo '======== [2-1] repo 설정 ========'
cat <https://pkgs.k8s.io/core:/stable:/v1.27/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.27/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF

echo '======== [2-2] Kubectl 설치 ========'
yum install -y kubectl-1.27.2-150500.1.1.aarch64 --disableexcludes=kubernetes

echo '======== [3] 도커 설치 ========'
# <https://download.docker.com/linux/centos/8/x86_64/stable/Packages/> 저장소 경로
yum install -y yum-utils
yum-config-manager --add-repo <https://download.docker.com/linux/centos/docker-ce.repo>
yum install -y docker-ce-3:23.0.6-1.el9.aarch64 docker-ce-cli-1:23.0.6-1.el9.aarch64 containerd.io-1.6.21-3.1.el9.aarch64
systemctl daemon-reload
systemctl enable --now docker

echo '======== [4] OpenJDK 설치  ========'
yum install -y java-17-openjdk

echo '======== [5] Gradle 설치  ========'
yum -y install wget unzip
wget <https://services.gradle.org/distributions/gradle-7.6.1-bin.zip> -P ~/
unzip -d /opt/gradle ~/gradle-*.zip
cat <https://pkg.jenkins.io/redhat-stable/jenkins.repo>
rpm --import <https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key>
yum install -y jenkins-2.440.2-1.1
systemctl enable jenkins
systemctl start jenkins

 

이후 젠킨스 세팅

1. 자바 설치

[root@cicd-server ~]# find / -name java | grep java-17-openjdk
/usr/lib/jvm/java-17-openjdk-17.0.9.0.9-2.el9.aarch64/bin/java

# Name : jdk-17
# JAVA_HOME : (조회 결과 복사)

 

2. 그래들 세팅

# Name : gradle-7.6.1
# GRADLE_HOME : /opt/gradle/gradle-7.6.1

 

3. 마스터서버에서 인증서 복사

# 폴더 생성
[jenkins@cicd-server ~]$ mkdir ~/.kube

# Master Node에서 인증서 가져오기
[jenkins@cicd-server ~]$ scp root@192.168.56.30:/root/.kube/config ~/.kube/

 

4. 도커세팅

# jeknins가 Docker를 사용할 수 있도록 권한 부여
[root@cicd-server ~]# chmod 666 /var/run/docker.sock
[root@cicd-server ~]# usermod -aG docker jenkins

# Jeknins로 사용자 변경 
[root@cicd-server ~]# su - jenkins -s /bin/bash

# 자신의 Dockerhub로 로그인 하기
[jenkins@cicd-server ~]$ docker login
Username: 
Password:

 

배포 플로우

개발 -> CI (빌드) -> CD (도커파일생성후 도커허브업로드) -> CD (도커허브에서 다운로드해서 그거 기반으로 yaml 파일 실행) -> 완료

 

 

반응형