Kubernetes에 Spring Boot 응용 프로그램 배포
In this article, I will explain how you can create a pod, deploy a spring boot application, manage the single node cluster with Lens IDE on Docker Desktop.
뭘 배울 거야?
Docker 데스크톱이란?
공식 소식documentation에 따르면.
Docker Desktop is an application for macOS and Windows machines for the building and sharing of containerized applications and microservices.
Docker Desktopinstallation 공식 설명서가 설치되어 있지 않은 경우 설명서에 따라 작업을 수행할 수 있습니다.
Docker Desktop for Mac에서 Kubernetes를 활성화하는 방법
공식 데이터documentation에 따르면 맥 Kubernetes는
/usr/local/bin/kubectl
에 통합되어 Kubernetes CLI 명령을 제공한다.이 위치는 셸의 PATH
변수에 없을 수 있기 때문에 명령의 전체 경로를 입력하거나 PATH
변수에 추가해야 할 수도 있습니다.kubectl은 클러스터에서 명령을 실행하는 Kubernetes CLI 도구입니다.kubectlhere에 대한 더 많은 정보를 얻을 수 있습니다.현재, 우리는 아래kubectl 명령을 사용하여 설정을 검증할 수 있습니다.출력은 아래와 유사해야 합니다.
kubectl get nodes
NAME STATUS ROLES AGE VERSION
docker-desktop Ready master 19d v1.19.3
어떻게 콩꼬투리를 만듭니까
쿠베르네트스의 크레인은 가장 작은 집행 단원이다.그것은 용기를 하나 더 담을 수 있다.단, 로컬 Kubernetes 그룹에 간단한pod를 만들고, 용기 이미지를 사용하여 설정을 테스트합니다.이 컨테이너는 Nginx 이미지를 실행합니다.
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: mycontainer
image: docker.io/nginx
ports:
- containerPort: 80
kubectl create
및 YAML 파일의 이름을 사용하여pod를 만듭니다.kubectl create -f pod.yaml
pod/nginx created
2. 우리가 방금 만든pod의 상태를 검사합니다.kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx 1/1 Running 0 2m38s
3.pod를 더욱 디버깅하고 정상적으로 작동하도록 하기 위해 우리는 kubectl exec
명령을 사용하여 케이스를 실행하는 용기에 설치할 수 있다.컨테이너에 들어가면 Curl만 사용하여 Nginx 설정을 확인합니다.우리 지금부터 시작합시다.kubectl exec -it nginx -- /bin/sh
# curl 10.1.0.65
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
Kubernetes에 사용 가능한 Spring 시작 프로그램을 배치하는 방법
로컬 Kubernetes 클러스터에 사용 가능한 Spring 부트 응용 프로그램을 배치합니다.우리는 인디언 응용 프로그램을 사용하여 시범을 보일 것이다.이 애플리케이션에 대한 자세한 내용은 this GitHub 저장소를 참조하십시오.
이전 글article에서 이 Kubernetes 응용 프로그램의 서비스와 배치 자원을 설명했습니다.
현재 우리는 이 저장소를 복제하고 다음 명령을 사용하여 Kubernetes 목록을 만들 것입니다.
git clone https://github.com/yrashish/indian-states
cd indian-states/k8s
kubectl create -f myservice.yaml
service/states created
kubectl create -f mydeployment.yaml
deployment.apps/states created
kubectl get all
NAME READY STATUS RESTARTS AGE
pod/states-6664b9dbf6-l2tgj 1/1 Running 0 8s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 55s
service/states NodePort 10.96.78.225 <none> 8080:31238/TCP 15s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/states 1/1 1 1 8s
NAME DESIRED CURRENT READY AGE
replicaset.apps/states-6664b9dbf6 1 1 1 8s
현재curl을 실행하고/states REST 노드에 접근해서 무슨 일이 일어날지 보십시오.curl localhost:31238/states
[{“name”:”Andra Pradesh”,”capital”:”Hyderabad”},{“name”:”Arunachal Pradesh”,”capital”:”Itangar”},{“name”:”Assam”,”capital”:”Dispur”},{“name”:”Bihar”,”capital”:”Patna”},{“name”:”Chhattisgarh”,”capital”:”Raipur”},{“name”:”Goa”,”capital”:”Panaji”},{“name”:”Gujarat”,”capital”:”Gandhinagar”},{“name”:”Haryana”,”capital”:”Chandigarh”},{“name”:”Himachal Pradesh”,”capital”:”Shimla”},{“name”:”Jharkhand”,”capital”:”Ranchi”},{“name”:”Karnataka”,”capital”:”Bangalore”},{“name”:”Kerala”,”capital”:”Thiruvananthapuram”},{“name”:”Madhya Pradesh”,”capital”:”Bhopal”},{“name”:”Maharashtra”,”capital”:”Mumbai”},{“name”:”Manipur”,”capital”:”Imphal”},{“name”:”Meghalaya”,”capital”:”Shillong”},{“name”:”Mizoram”,”capital”:”Aizawi”},{“name”:”Nagaland”,”capital”:”Kohima”},{“name”:”Orissa”,”capital”:”Bhubaneshwar”},{“name”:”Rajasthan”,”capital”:”Jaipur”},{“name”:”Sikkim”,”capital”:”Gangtok”},{“name”:”Tamil Nadu”,”capital”:”Chennai”},{“name”:”Telangana”,”capital”:”Hyderabad”},{“name”:”Tripura”,”capital”:”Agartala”},{“name”:”Uttaranchal”,”capital”:”Dehradun”},{“name”:”Uttar Pradesh”,”capital”:”Lucknow”},{“name”:”West Bengal”,”capital”:”Kolkata”},{“name”:”Punjab”,”capital”:”Chandigarh”}]
Lens IDE를 사용하여 Kubernetes 클러스터 모니터링 및 관리 방법
Lens IDE for Kubernetes는 MacOS, Windows, Linux를 위한 데스크톱 응용 프로그램으로 클러스터를 관리합니다.그것은 완전히 무료이며 개원된 것이다.당신은 here에서 다운로드할 수 있습니다.개발자, DevOps 엔지니어, SRE, 노트북에서 Kubernetes를 배우는 사람들은 집단을 조회하고 관리할 수 있습니다.다음은 강조 표시된 기능들입니다.
$HOME/.kube
디렉토리에 있습니다.텍스트 파일로 붙여넣기를 선택할 수도 있습니다.kubeconfig 파일과 컨텍스트를 선택하고 AddCluster를 클릭합니다.그룹을 추가하면 왼쪽 내비게이션 표시줄에서 볼 수 있습니다.프레젠테이션 목적으로 Spring Boot 애플리케이션을 재배치했습니다.이벤트에서 프로그램 이미지가 추출되고 있는 것을 볼 수 있습니다.
우리는 방금 완성한 배치 로그도 볼 수 있다.보시다시피 프로그램이 배치되어 실행 중입니다.
Lens IDE 자체에서 Kubernetes 목록을 확대, 재시작, 편집 및 삭제할 수 있습니다.
네트워크 아래에서 Kubernetes 서비스를 볼 수도 있습니다.
Lens에는 클러스터 및 노드의 지표를 수집하기 위해 클러스터에 Prometheus stack을 설치할 수 있는 기능이 있습니다.설치하려면 렌즈 UI의 왼쪽 위 모서리에 있는 클러스터 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음 설정을 선택합니다.
"설정"페이지의 "기능"에서 도량 부분과 프로메테우스를 설치하는 단추를 볼 수 있습니다.설치를 클릭하여 Prometheus 스택을 클러스터에 배치합니다.
카메라는 약 1분 후에 지표를 표시하기 시작할 것이다.
IDE for Kubernetes에서 제공하는 기능만 소개합니다.이제 끝이야.
결론
본고에서 우리는 Docker Desktop for Mac에서 Kubernetes를 사용하는 방법을 배웠고 기본pod를 만들었고 Spring Boot 프로그램을 배치했으며 Lens IDE의 도움으로 우리의 단일 노드인 Kubernetes 그룹을 관리했다.너는 아직도 무엇을 기다리고 있니?응용 프로그램을 포장해서 공유합니까?
나를 지지하다
만약 당신이 방금 읽은 내용을 좋아한다면 다음 그림의 링크를 클릭하여 나에게 커피 한 잔을 사 줄 수 있다.
한층 더 읽다
너는 나의 이전 문장들을 계속 읽을 수 있다articles
Reference
이 문제에 관하여(Kubernetes에 Spring Boot 응용 프로그램 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yrashish/running-kubernetes-application-on-docker-desktop-for-mac-5gh1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)