Рубрики
Без рубрики

Весенняя загрузка + Докер на Kubernetes, с нуля (видео включено)

Создайте службу API RESTful с помощью Spring Boot, докеризуйте и разверните в Kubernetes

Автор оригинала: Matthew Davis.

Весенняя загрузка на Kubernetes

Сначала мы создадим новое приложение Spring Boot , реализующее базовую конечную точку службы HTTP GET. Как только ваше приложение будет запущено и запущено, мы сможем создать образ docker и запустить контейнер docker, чтобы протестировать наш сервис. И, наконец, мы возьмем наш образ docker и развернем его в кластере Kubernetes для развертывания на уровне производства.

И, наконец, мы возьмем наш образ docker и развернем его в кластере Kubernetes для развертывания на уровне производства.

Докерфайл

Мы используем стандартное изображение jr из openjdk для запуска нашего приложения внутри:

FROM openjdk:8-jre-alpine 

COPY build/libs/k8-byexamples-spring-rest-0.0.1-SNAPSHOT.jar /application.jar 

CMD ["java", "-jar", "/application.jar"]

Сделать файл (необязательно)

Я создал простой Makefile, чтобы ускорить процесс. Просто сделайте все , чтобы создать и нажать изображение docker. Аналогично вы можете сделать k8/установить для установки манифестов kubernetes:

VERSION ?= $(shell git rev-parse HEAD)
APP     ?= k8-byexamples-spring-rest
IMAGE   ?= gcr.io/matthewdavis-byexamples/$(APP):$(VERSION)

.PHONY: build

all: build push

build:

   docker build -t $(IMAGE) .

run:

   docker run -p 8080:8080 $(IMAGE)

push:

   docker push $(IMAGE)

k8/install:

   kubectl apply -f manifests/

k8/delete:

   kubectl delete -f manifests/

Аналогично вы можете || сделать k8/установить || для установки манифестов kubernetes:

Это простой контроллер REST, который отвечает на запросы HTTP POST (т. Е.: https:///test/echo):

package com.example.k8byexamplesspringrest;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/test")
public class TestRestController {

    @PostMapping("/echo")
    public ResponseEntity testResponse(@RequestBody String body) {

        return new ResponseEntity<>("You said: " + body, HttpStatus.OK);

    }

}

Хранилища исходного Кода:

Смотрите больше на https://matthewdavis.io

Оригинал: “https://www.codementor.io/@yomateo/spring-boot-docker-on-kubernetes-from-scratch-devops-software-architecture-omk197zjc”