环境信息
华为云Ubuntu:
自己搭建的k8s
创建springboot应用
保证本地能正常运行:
java -jar cngdut-1.0-SNAPSHOT.jar
编写Dockerfile文件
Dockerfile
FROM openjdk:8-alpine
COPY ./target/cngdut-1.0-SNAPSHOT.jar /app/cngdut-1.0-SNAPSHOT.jar
ENTRYPOINT ["java", "-jar" , "/app/cngdut-1.0-SNAPSHOT.jar"]
上传到服务器中构建镜像
docker build ./ -t k8sdemo:v1
查看镜像
docker images
运行镜像
docker run -d -p 8080:8080 --name myk8sdemo k8sdemo:v1
编写deploy资源文件k8sdemo.yaml
apiVersion: apps/v1 #kubectl api-versions 可以通过这条指令去看版本信息
kind: Deployment # 指定资源类别
metadata: #资源的一些元数据
name: k8sdemo-deployment #deloyment的名称
labels:
app: k8sdemo #标签
spec:
replicas: 2 #创建pod的个数
selector:
matchLabels:
app: k8sdemo #满足标签为这个的时候相关的pod才能被调度到
template:
metadata:
labels:
app: k8sdemo
spec:
containers:
- name: k8sdemo
image: k8sdemo:v1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
k8s部署
kubectl apppy -f k8sdemo.yaml
暴露端口
kubectl expose deployment k8sdemo-deployment --type=NodePort
访问链接
http://x.x.x.193:30761/hello
参考文档:
https://blog.csdn.net/weixin_36380516/article/details/121154981