Spring Boot + Docker в Kubernetes, с нуля (видео прилагается)

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

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

Докерфайл

Мы используем стандартный образ jre из 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 (необязательно)

Я создал простой Makefile, чтобы ускорить процесс. Просто сделать все для создания и отправки образа докера. Точно так же вы можете сделать 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/

TestRestController.java

Это простой контроллер REST, который отвечает на запросы HTTP POST (т.е.:

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);

    }

}

Репозитории исходного кода:

Смотрите больше на

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *