Java 개발자를 위한 Kubernetes - 설정

Kubernetes은 컨테이너화된 워크로드 및 서비스를 관리하기 위한 이식 가능하고 확장 가능한 오픈 소스 플랫폼으로, 선언적 구성과 자동화를 모두 용이하게 합니다. 그것은 크고 빠르게 성장하는 생태계를 가지고 있습니다. Kubernetes 서비스, 지원 및 도구는 광범위하게 사용할 수 있습니다.

소개



The ​​technology area is cyclical, from time to time the same technologies come back, with different names. (Heidemann, Vanei)



35세 이상이라면 많은 기술이 재창조되는 것을 보았을 것입니다. 이 경우 애플리케이션 서버에 대해 이야기하겠습니다. 의 이 기사에서 볼 수 있듯이 . Why Kubernetes is The New Application Server

개발자로서 우리는 컴퓨터에서 코드를 실행하여 우리 손으로 제어할 수 있기를 원합니다.
그러나 이제 애플리케이션은 Docker 컨테이너에서만 실행되는 것이 아닙니다. 우리가 걱정해야 할 것들이 많이 있습니다.

이 튜토리얼에서는 kubernetes 클러스터를 위한 로컬 환경을 준비하는 방법을 배웁니다. 이것은 Java 및 Kubernetes에 대한 시리즈의 첫 번째 게시물입니다.

전제 조건


도커



Docker은 공통 운영 체제(OS)에서 가상화된 애플리케이션 컨테이너를 생성, 배포 및 관리하기 위한 오픈 소스 소프트웨어 플랫폼으로, 관련 도구의 에코시스템을 사용합니다.

미니큐브



Minikube macOS, Linux 및 Windows에서 로컬 Kubernetes 클러스터를 구현합니다.

Kubectl



Kubernetes 명령줄 도구인 kubectl을 사용하면 Kubernetes 클러스터에 대해 명령을 실행할 수 있습니다.

버추얼박스(선택사항)



가상 머신 내에서 실행되는 Kubernetes 클러스터
https://www.virtualbox.org/

이러한 도구가 없는 경우 다음이 도움이 될 수 있습니다.




산드로기아콤 / k8s


쿠버네티스 리소스





k8s


쿠버네티스 개발 도구
  • 도커
  • 쿠벡틀
  • 미니큐브
  • 쿠벤스
  • 선미
  • 버추얼박스
  • 오픈시프트

  • 이 저장소 복제

    git clone https://github.com/sandrogiacom/k8s.git

    전제 조건


    만들다

    sudo apt install make또는sudo pacman -S make

    도구 설치


    모든 도구

    make install-all OS=deb

    별도의 도구


    도커

    make install-docker OS=deb

    버추얼박스

    make install-vbox OS=deb

    Kubectl

    make install-kubectl OS=deb

    미니큐브

    make install-minikube OS=deb

    오픈시프트

    make install-oc OS=deb

    OS 유형


  • 뎁: 데비안, 민트, 우분투
  • 아치: 아치 리눅스



  • View on GitHub



    작동하는지 확인



    유형:

    $ minikube version
    minikube version: v1.1.1
    



    $ kubectl version
    Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.2"...
    



    $ virtualbox
    



    미니큐브 시작하기



    Minikube를 시작하려면 터미널에 minikube start를 입력하기만 하면 됩니다.
    위의 명령은 기본값으로 가상 머신을 생성합니다.
    다른 플래그로 시작하려면 minikube start -h를 입력하여 목록을 완료하십시오.

    가장 중요한 플래그는 다음과 같습니다.
  • --vm-driver: VM 드라이버는 virtualbox paralles vmwarefusion kvm xhyve hyperv hyperkit kvm2 vmware 없음 중 하나입니다. 기본 "virtualbox"
  • --memory int: minikube VM에 할당된 RAM의 양(MB)(기본값 2048)
  • --cpus int: minikube VM에 할당된 CPU 수(기본값 2)
  • --profile: 사용 중인 minikube VM의 이름입니다. 여러 minikube 인스턴스를 독립적으로 실행할 수 있도록 수정할 수 있습니다(기본값 "minikube")
  • .
    minikube start -p dev.to --cpus 2 --memory=4096

    계기반


    minikube -p dev.to dashboard
    대시보드를 사용하여 클러스터에서 실행 중인 애플리케이션의 개요를 얻고 개별 Kubernetes 리소스(예: 배포, 작업, DaemonSet 등)를 생성하거나 수정할 수 있습니다.

    네임스페이스 만들기



    작업 공간을 분리하기 위해 namespace를 생성하는 것이 좋습니다. 유형:
    kubectl create namespace dev-to

    인그레스 활성화


    minikube -p dev.to addons enable ingress
    Ingress는 클러스터 외부에서 클러스터 내의 서비스로 HTTP 및 HTTPS 경로를 노출합니다. 트래픽 라우팅은 인그레스 리소스에 정의된 규칙에 의해 제어됩니다.

    미니큐브 머신 중지


    minikube -p dev.to stop

    미니큐브 머신 파괴


    minikube -p dev.to delete

    결론



    계속하려면...

    이 자습서에서는 로컬 kubernetes 클러스터를 시작하고 자체 애플리케이션 배포를 준비하는 방법을 배웁니다. 다음 포스팅에서는 쿠버네티스 클러스터에 배포할 자바 애플리케이션을 준비하겠습니다.

    곧 봐요.

    참조



    https://github.com/arun-gupta/kubernetes-for-java-developers

    https://github.com/arun-gupta/kubernetes-java-sample/blob/master/workshop.adoc#create-kubernetes-cluster

    https://developers.redhat.com/blog/2018/06/28/why-kubernetes-is-the-new-application-server/

    좋은 웹페이지 즐겨찾기