16.kubernetes部署springboot项目
16.kubernetes部署springboot项目
kubernetes简单部署springboot项目
步骤:
1.将springboot项目制作成镜像,打入到本地镜像仓库中(每台工作节点都需要执行)
1.1 将项目打成jar包
1.2dockerfile文件
1.3 在两台工作节点 上传jar包、 dockerfile文件
创建一个springboot项目
@RestController
public class MayiktService {
@RequestMapping("/")
public String index() {
return " this is mayikt www.mayikt.com ip:" + getIp();
}
public static String getIp() {
try {
InetAddress ia = InetAddress.getLocalHost();
String localip = ia.getHostAddress();
return localip;
} catch (Exception e) {
return "500";
}
}
}
将该项目打成jar包。
D:\path\data\mayikt-k8s-springboot\target
制作dockerfile文件
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER www.mayikt.com
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为mayikt.jar
ADD mayikt-k8s-springboot-1.0-SNAPSHOT-exec.jar mayikt.jar
# 运行jar包
RUN bash -c 'touch /mayikt.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/mayikt.jar"]
#暴露8080端口
EXPOSE 8080
在工作节点上,制作springboot镜像
docker images 查看工作节点上的 springboot镜像 。(正常大公司我们是需要构建自己企业内部 docker私有仓库harbor 类似于maven私有仓库)
docker rmi mayikt-springboot:v1
将打包好的mayikt-k8s-springboot-1.0-SNAPSHOT-exec.jar 上传到
该两个工作节点
docker build -f Dockerfile -t mayikt-springboot:v1 .
执行docker images
定义k8s配置文件
kubectl delete ns mayikt-sit
kubectl create ns mayikt-sit
kubectl create -f mayikt-springboot.yaml
kubectl describe pods -n mayikt-sit
kubectl get pods -n mayikt-sit
创建三个springboot pod 副本集群
apiVersion: apps/v1
kind: Deployment
metadata:
name: mayikt-deployment
namespace: mayikt-sit
spec:
replicas: 3
selector:
matchLabels:
app: mayikt-spt
template:
metadata:
labels:
app: mayikt-spt
spec:
containers:
- name: mayikt-springboot
image: mayikt-springboot:v1
ports:
- containerPort: 8080
根据service访问接口
kubectl create -f mayikt-service-springboot.yml
kubectl get service mayikt-service -n mayikt-sit -o wide
更多推荐
所有评论(0)