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 Desktop for Mac
  • 를 사용하여 Kubernetes 활성화 방법
  • 크레인을 어떻게 만드는가
  • Kubernetes
  • 에 작업하는 Spring 시작 프로그램을 배치하는 방법
  • Lens IDE를 사용하여 Kubernetes 클러스터 모니터링 및 관리 방법
  • 다음은 이 점을 모를 수도 있지만, 다음 절차를 통해 Docker 데스크톱에서 강력한 단일 노드인 Kubernetes 그룹을 로컬에서 실행할 수 있습니다.그런데 잠깐만, Docker 데스크톱이 뭐야?

    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를 활성화하는 방법

  • Docker 메뉴 모음의 기본 설정으로 이동합니다.그런 다음 Kubernetes 탭을 클릭합니다.이 콤보 상자를 누르면 Kubernetes를 사용하고 기본 컴파일러를 Kubernetes로 전환합니다.Kubernetes를 사용하려면 시간이 좀 걸립니다.
  • 이 활성화되면 Docker 메뉴 표시줄에 다음과 같은 내용이 표시됩니다.
  • 다음에 여러 개의 그룹이나 환경이 로컬에서 실행되면 Kubernetes 상하문을 docker desktop으로 설정해야 합니다.

  • 공식 데이터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 이미지를 실행합니다.
  • 아래 YAML 파일을 사용하여pod를 만듭니다.
  • 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를 배우는 사람들은 집단을 조회하고 관리할 수 있습니다.다음은 강조 표시된 기능들입니다.
  • 단일 IDE를 사용하여 여러 클러스터를 관리합니다.
  • 집단의 360도 보기.
  • 프로메테우스 일체화
  • 컨텍스트 인식 내장 터미널
  • 내장형 지원 관리 키맵
  • 설치 후 그룹을 추가할 수 있습니다.Lens는 kubeconfig 파일을 사용하여 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

    좋은 웹페이지 즐겨찾기