–vm-driver=docker
–base-image=“anjone/kicbase”
–image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
这里头我大概介绍一下启动参数的含义:
-
--registry-mirror
这里的地址会和启动的minikube内部的docker.daemon文件中所指向的镜像仓库地址一致。 -
--vm-driver
虚拟机引擎 这里是指minikube的内部通过docker来作为核心 -
--base-image
声明好基础镜像,如果宿主机内部有对应镜像,就不需要额外拉取 -
--image-repository
拉取镜像的仓库
当minikube启动成功之后,大致如下所示:
【idea @ Mac】>>>>>>minikube start --vm-driver=docker --base-image=“anjone/kicbase”
😄 Darwin 10.15.3 上的 minikube v1.16.0
✨ 根据现有的配置文件使用 docker 驱动程序
👍 Starting control plane node minikube in cluster minikube
🤷 docker “minikube” container is missing, will recreate.
🔥 Creating docker container (CPUs=2, Memory=1988MB) …
❗ This container is having trouble accessing https://k8s.gcr.io
💡 To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/
🐳 正在 Docker 19.03.2 中准备 Kubernetes v1.20.0…
▪ Generating certificates and keys …
▪ Booting up control plane …\
▪ Configuring RBAC rules …
🔎 Verifying Kubernetes components…
🌟 Enabled addons: default-storageclass
🏄 Done! kubectl is now configured to use “minikube” cluster and “default” namespace by default
【idea @ Mac】>>>>>>
好了,接下来便到了部署SpringBoot应用的部分了。
基于SpringBoot部署到k8s中
首先我们需要搭建一个简单的SpringBoot应用:
引入dependency依赖
org.springframework.boot
spring-boot-starter-web
打包docker镜像的配置:
打包出来的镜像名称
org.springframework.boot
spring-boot-maven-plugin
2.2.5.RELEASE
com.spotify
docker-maven-plugin
1.0.0
${project.artifactId}
1.0.1
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar
接着是简单的controller和启动类:
@RestController
@RequestMapping(value = “/test”)
public class TestController {
@GetMapping(value = “/do-test”)
public String doTest(){
System.out.println(“this is a test”);
return “success”;
}
}
@SpringBootApplication
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class);
}
}
编写Dockerfile的脚本:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
#将springboot-k8s-template.jar复制到容器内部 并且别名叫springboot-k8s-template-v1.jar
ADD springboot-k8s-template.jar sp