windows、docker、minikube
访问nginxminikube tunnel
另起一个终端,创建deployment,设置服务类型LoadBalancer,使用官方镜像内部端口80
kubectl create deployment my-nginx --image=nginx:latest kubectl expose deployment my-nginx --type=LoadBalancer --port=80 kubectl get svc
此时tunnel
访问外部ip+端口localhost:80
创建一个springboot应用的demo
编写pom.xml
myspringbootk8simage org.springframework.boot spring-boot-maven-plugin 2.4.2 com.spotify docker-maven-plugin 1.0.0 ${project.artifactId} 1.0.1 src/main/docker / ${project.build.directory} ${project.build.finalName}.jar
写一个控制器
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello minikube";
}
}
Dockerfile
FROM openjdk:8-jdk-alpine VOLUME /tmp #将myspringbootk8simage.jar复制到容器内部 并且别名叫myspringbootk8simage.jar ADD myspringbootk8simage.jar myspringbootk8simage.jar #相当于在容器中用cmd命令执行jar包 指定外部配置文件 ENTRYPOINT ["java","-jar","/myspringbootk8simage.jar"]
maven打个包
Build Success后,在Dockerfile文件所在目录打开终端,创建镜像
docker build -t springboot-k8s .
将镜像push到docker hub
docker login docker tag springboot-k8s sunzhexun/springboot-k8s docker push sunzhexun/springboot-k8s
部署到minikube(tunnel要保持开启)
kubectl create deployment hello-k8s --image=sunzhexun/springboot-k8s:1.0 kubectl expose deployment hello-k8s --type=LoadBalancer --port=8080 kubectl get deployments kubectl get svc
minikube dashboard
通过外部ip访问



