SpringBoot 응용 프로그램 이 K8S 에 빠르게 배 치 된 상세 한 튜 토리 얼
7440 단어 SpringBoot배치 하 다.K8S
https://github.com/zq2599/blog_demos
내용:
모든 오리지널 글 의 분류 집합 과 조합 소스 코드 는 자바,Docker,Kubernetes,DevOPS 등 과 관련된다.
배경
생산 환경 에 대해 우 리 는 보통 CI&&CD 도구 로 전체 구축 과 배 치 를 완성 하기 때문에 본 고 는 생산 환경 에 적합 하지 않다.학습 과 개발 환경 에 대해 우 리 는 코드 를 자주 수정 하고 효 과 를 신속하게 보고 싶 습 니 다.본 고 는 바로 이런 장면 을 대상 으로 하 는 것 입 니 다.
내용 소개
이번 실전 에는 두 가지 환경 이 있 는데 그것 이 바로 개발 과 운영 환경 이다.그 중에서 개발 환경 정 보 는 다음 과 같다.
SpringBoot 프로젝트 소스 코드
이번 실전 에 서 는 일반적인 SpringBoot 프로젝트 를 사 용 했 습 니 다.소스 코드 는 GitHub 에서 다운로드 할 수 있 습 니 다.주소 와 링크 정 보 는 다음 표 와 같 습 니 다https://github.com/zq2599/blog_demos.
명칭.
링크
비고 항목 홈 페이지https://github.com/zq2599/blog_demos이 항목 은 GitHub 의 홈 페이지 git 창고 주소(https)https://github.com/zq2599/blog_demos.git이 항목 의 원본 창고 주소,https 프로 토 콜 git 창고 주소(ssh)[email protected]:zq2599/blog_demos.git 프로젝트 원본 의 창고 주소,ssh 프로 토 콜
이 git 프로젝트 에는 여러 개의 폴 더 가 있 습 니 다.이 장의 응용 은 provedemo 폴 더 아래 그림 의 빨 간 상자 와 같 습 니 다.
필요 한 내용
전체 프로젝트 는 일반 SpringBoot 프로젝트 로 흔히 볼 수 있 는 pom.xml 과 소스 코드 를 제외 하고 다음 과 같은 세 개의 파일 이 더 많 습 니 다.
auto_deploy.sh 의 역할 은 다음 과 같 습 니 다.
#!/bin/bash
# sshpass
if ! [ -x "$(command -v sshpass)" ]; then
echo ' sshpass !'
exit 1
fi
#
IMAGE_NAME='bolingcavalry/probedemo'
# TAG
TAG_NAME='0.0.1'
# deployment service yaml
DEPLOY_SERVICE_YAML='probedemo.yaml'
# K8S IP
K8S_IP_ADDRESS='192.168.50.135'
# K8S SSH
K8S_SSH_ACCOUNT='root'
# 8S SSH
K8S_SSH_PSWD='888888'
# K8S tar yaml
K8S_FILE_PATH='~/deploy_temp'
#
CURRENT_DIR=`pwd`
echo ' , :'${CURRENT_DIR}
# maven
mvn clean package -U -DskipTests
echo " :"${IMAGE_NAME}/${TAG_NAME}
docker build -t ${IMAGE_NAME}/${TAG_NAME} .
echo " tar :"${IMAGE_NAME}/${TAG_NAME}
docker save ${IMAGE_NAME}/${TAG_NAME} > ${CURRENT_DIR}/image.tar
echo " K8S :"${K8S_FILE_PATH}
sshpass -p ${K8S_SSH_PSWD} ssh ${K8S_SSH_ACCOUNT}@${K8S_IP_ADDRESS} "mkdir -p ${K8S_FILE_PATH}"
echo " yaml K8S :"${IMAGE_NAME}/${TAG_NAME}
sshpass -p ${K8S_SSH_PSWD} scp ${CURRENT_DIR}/${DEPLOY_SERVICE_YAML} ${K8S_SSH_ACCOUNT}@${K8S_IP_ADDRESS}:${K8S_FILE_PATH}/
echo " tar K8S :"${IMAGE_NAME}/${TAG_NAME}
sshpass -p ${K8S_SSH_PSWD} scp ${CURRENT_DIR}/image.tar ${K8S_SSH_ACCOUNT}@${K8S_IP_ADDRESS}:${K8S_FILE_PATH}/
echo " K8S , :"${IMAGE_NAME}/${TAG_NAME}
sshpass -p ${K8S_SSH_PSWD} ssh ${K8S_SSH_ACCOUNT}@${K8S_IP_ADDRESS} "kubectl delete -f ${K8S_FILE_PATH}/${DEPLOY_SERVICE_YAML}"
echo " 10 "
sleep 10
echo " :"${IMAGE_NAME}/${TAG_NAME}
sshpass -p ${K8S_SSH_PSWD} ssh ${K8S_SSH_ACCOUNT}@${K8S_IP_ADDRESS} "docker rmi ${IMAGE_NAME}/${TAG_NAME}"
echo " tar :"${IMAGE_NAME}/${TAG_NAME}
sshpass -p ${K8S_SSH_PSWD} ssh ${K8S_SSH_ACCOUNT}@${K8S_IP_ADDRESS} "docker load < ${K8S_FILE_PATH}/image.tar"
echo " :"${IMAGE_NAME}/${TAG_NAME}
sshpass -p ${K8S_SSH_PSWD} ssh ${K8S_SSH_ACCOUNT}@${K8S_IP_ADDRESS} "kubectl apply -f ${K8S_FILE_PATH}/${DEPLOY_SERVICE_YAML}"
echo " tar :"${CURRENT_DIR}/image.tar
rm -rf ${CURRENT_DIR}/image.tar
echo " :"${IMAGE_NAME}/${TAG_NAME}
docker rmi ${IMAGE_NAME}/${TAG_NAME}
실험 하 다.배치 가 완료 되 었 으 니 기능 을 검증 할 수 있 습 니 다.
주의 사항
이번 실전 에서 미 러 를 업데이트 하 는 방법 은 로 컬 에서 tar 로 내 보 내 고 K8S 환경 으로 가 져 오 는 것 입 니 다.K8S 환경 에 여러 대의 기계 가 있 을 때 이렇게 하 는 것 이 적합 하지 않 습 니 다.개인 미 러 창 고 를 사용 하여 미 러 push 를 창고 에 전송 한 다음 K8S 미 러 창고 pull 미 러 를 사용 하 는 것 을 권장 합 니 다.
이로써 SpringBoot 응용 프로그램 이 K8S 에 신속하게 배 치 된 실전 이 완성 되 었 습 니 다.이것 은 제 가 개발 하 는 과정 에서 자주 사용 하 는 원 격 배치 수단 입 니 다.참고 가 되 기 를 바 랍 니 다.
당신 은 외 롭 지 않 습 니 다.
자바 시리즈
봄 시리즈
Docker 시리즈
kubernetes 시리즈
데이터베이스+미들웨어 시리즈
DevOps 시리즈
여기 서 SpringBoot 애플 리 케 이 션 이 K8S 에 빠르게 배 치 된 상세 한 튜 토리 얼 에 관 한 글 을 소개 합 니 다.더 많은 SpringBoot 가 K8S 에 배 치 된 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.