먼저, 시스템을 업데이트하고 필요한 패키지를 설치합니다.
sudo apt-get update
sudo apt-get install ca-certificates curl
Docker 저장소의 GPG 키를 추가합니다.
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Docker의 APT 저장소를 추가합니다.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
이제 Docker를 설치합니다.
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker가 정상적으로 설치되었는지 확인하기 위해 Hello World 이미지를 실행합니다.
sudo docker run hello-world
설치된 Docker 이미지와 버전을 확인합니다.
sudo docker images
sudo docker version
Docker가 시스템 부팅 시 자동으로 시작되도록 설정하고, 서비스를 시작합니다.
sudo systemctl enable docker
sudo systemctl start docker
sudo service docker status
이 명령어를 실행했을 때 Active: active (running) 메시지가 나타나면 Docker가 정상적으로 실행되고 있는 것입니다.
Kubernetes를 설치하기 위해 Snap 패키지 관리자를 설치합니다.
sudo apt update
sudo apt install snapd
Snap의 홈 디렉토리를 설정합니다.
sudo snap set system homedirs=/var/lib
Docker 소켓에 대한 권한을 설정합니다. 이 단계는 일부 환경에서는 생략할 수 있습니다.
sudo chmod 666 /var/run/docker.sock
Snap으로 Hello World를 설치하여 Snap이 제대로 작동하는지 확인합니다.
sudo snap install hello-world
Kubernetes의 kubectl 명령어를 설치합니다.
sudo snap install kubectl --classic
kubectl의 버전을 확인합니다.kubectl version --client 이 명령어를 통해 클라이언트 버전 정보를 확인할 수 있습니다.kubectl이 제대로 설치되었는지 확인할 수 있습니다.kubectl cluster-infoncp-iam-authenticator를 설치합니다.cd /usr/bin
chmod +x ./ncp-iam-authenticator
ls -l /usr/bin/ncp-iam-authenticator
NCP 콘솔에서 Kubernetes 클러스터를 생성합니다. 생성 후 클러스터 UUID를 기록해 둡니다.
ncloud 디렉토리 생성:
mkdir -p ~/.ncloud
configure 파일 생성:
touch ~/.ncloud/configure
kubeconfig 파일 생성:
cd ~/.ncloud
ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid <YOUR_CLUSTER_UUID> --output kubeconfig.yaml
<YOUR_CLUSTER_UUID>를 Ncloud Kubernetes Service의 클러스터 UUID로 바꿉니다.인증 정보 입력:
Ncloud Access Key Id []: B93C5A01D2C3EDEFDA4D
Ncloud Secret Access Key []: AAC1613AE24201F432707E7F73618CE0E9476766
Ncloud API URL []: https://ncloud.apigw.ntruss.com/
sudo cp kubeconfig.yaml ~/.ncloud
.bashrc 파일 열기:
bash
코드 복사
vi ~/.bashrc
맨 아래로 이동하여 환경 변수 추가:
export KUBE_CONFIG=$HOME/.ncloud/kubeconfig.yaml
Shift + OEsc 키를 누른 후 :wq 입력Docker 이미지 빌드 및 목록
docker-compose build
biday/eureka-serverbiday/sms-servicebiday/user-servicebiday/gateway-serverbiday/ftp-servicebiday/admin-servicebiday/product-servicebiday/auction-servicebiday/order-servicebiday/config-serverDocker Hub 로그인:
docker login
이미지 태그 지정:
각 이미지를 새로운 태그로 지정합니다. 아래 명령어들을 실행하세요.
```bash
docker tag biday/product-service:latest hwijae/biday-product-service:1.0
docker tag biday/order-service:latest hwijae/biday-order-service:1.0
docker tag biday/gateway-server:latest hwijae/biday-gateway-server:1.0
docker tag biday/ftp-service:latest hwijae/biday-ftp-service:1.0
docker tag biday/auction-service:latest hwijae/biday-auction-service:1.0
docker tag biday/user-service:latest hwijae/biday-user-service:1.0
docker tag biday/admin-service:latest hwijae/biday-admin-service:1.0
docker tag biday/eureka-server:latest hwijae/biday-eureka-server:1.0
docker tag biday/config-server:latest hwijae/biday-config-server:1.0
```
이미지 푸시:
docker push hwijae/biday-product-service:1.0
docker push hwijae/biday-order-service:1.0
docker push hwijae/biday-gateway-server:1.0
docker push hwijae/biday-ftp-service:1.0
docker push hwijae/biday-auction-service:1.0
docker push hwijae/biday-user-service:1.0
docker push hwijae/biday-admin-service:1.0
docker push hwijae/biday-eureka-server:1.0
docker push hwijae/biday-config-server:1.0
Docker 소켓의 권한을 설정하여 Jenkins가 Docker에 접근할 수 있도록 합니다.
# 현재 권한 확인
ls -l /var/run/docker.sock
# 권한을 777로 변경
sudo chmod 777 /var/run/docker.sock
# 변경 후 권한 확인
ls -l /var/run/docker.sock
Jenkins 패키지의 GPG 키를 추가하고 소스 목록을 설정합니다.
# Jenkins GPG 키 다운로드
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
# Jenkins 소스 목록 추가
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/" | \
sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
# 패키지 목록 업데이트
sudo apt-get update
Jenkins를 설치합니다.
sudo apt-get install jenkins
Jenkins가 실행되기 위해 필요한 Java를 설치합니다.
sudo apt update
#OpenJDK 17 JDK **설치**
sudo apt install fontconfig openjdk-17-jre
# Java 버전 확인
java -version
bash
코드 복사
/usr/lib/jvm/java-17-openjdk-amd64/bin/javac -version
bash
코드 복사
sudo apt remove --purge openjdk-17-jdk
bash
코드 복사
sudo apt update
bash
코드 복사
sudo apt install openjdk-17-jdk
bash
코드 복사
ls /usr/lib/jvm/java-17-openjdk-amd64/bin
bash
코드 복사
# JAVA_HOME 설정
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
# PATH에 추가
export PATH=$JAVA_HOME/bin:$PATH
.bashrc 파일에 추가합니다.bash
코드 복사
echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> ~/.bashrc
echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> ~/.bashrc
# 변경 사항 적용
source ~/.bashrc
Jenkins 서비스가 부팅 시 자동으로 시작되도록 설정하고, 서비스를 시작합니다.
# Jenkins 서비스 부팅 시 자동 시작 설정
sudo systemctl enable jenkins
# Jenkins 서비스 시작
sudo systemctl start jenkins
# Jenkins 서비스 상태 확인
sudo systemctl status jenkins