k8s篇之六、项目部署
普通 jar包 在linux 环境上构建镜像, 每台k8s子节点都需要 (实际可使用 jenkins 构建到 云docker仓库,各节点使用命令进行拉取镜像)linux中 创建 Dockerfile 文件,把需要部署的 jar 也传上去。新建文件xijia-plus-service.yml。新建文件xijia-plus-pod.yml。http://子节点ip:30001/test。目的让外部可直
·
一、部署项目
1、构建镜像
普通 jar包 在linux 环境上构建镜像, 每台k8s子节点都需要 (实际可使用 jenkins 构建到 云docker仓库,各节点使用命令进行拉取镜像)
linux中 创建 Dockerfile 文件,把需要部署的 jar 也传上去
## 依赖环境
FROM openjdk:8-jdk-alpine
## 拷贝/复制文件
ADD xijia-plus-demo.jar /data/xijia-plus-demo.jar
## 指定容器目录挂载到 /var/lib/docker/volumes/随机名
VOLUME /data
## run容器后的执行命令
ENTRYPOINT ["java","-jar","-Xms256m","-Xmx512m","-Dspring.profiles.active=pro","/data/xijia-plus-demo.jar"]
执行命令 构建镜像
# 构建镜像命令
docker build -t xijia-plus:v2.x .
# 删除镜像命令
docker rmi xijia-plus:v2.x
2、创建 pod (Deployment 创建)
新建文件 xijia-plus-pod.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: xijia-plus
namespace: xijia-dev
spec:
# 副本数
replicas: 3
selector:
matchLabels:
app: xijia-spt
template:
metadata:
labels:
app: xijia-spt
spec:
containers:
- name: xijia-plus
image: xijia-plus:v2.x
ports:
- containerPort: 9049
执行命令
# 创建
# kubectl apply -f xijia-plus-pod.yml
# 查询
# kubectl get pods -n xijia-dev -o wide
3、创建 服务(访问)
目的让外部可直接访问该服务接口
新建文件 xijia-plus-service.yml
# 创建一个Service外部可访问
apiVersion: v1
kind: Service
metadata:
name: xijia-plus-service
namespace: xijia-dev
spec:
selector:
app: xijia-spt
type: NodePort # service类型
ports:
- port: 80 # Service端口
nodePort: 30001 # 指定绑定的node的端口(默认的取值范围是: 30000-32767), 如果不指定,会默认分配
targetPort: 9049 # pod端口
执行命令
# 创建
# kubectl apply -f xijia-plus-service.yml
# 查询服务
# kubectl get svc -n xijia-dev
4、控制台查看及访问
查看 pod
点击进入
查看该服务启动了3个
5、访问
http://子节点ip:30001/test
http://192.168.0.9:30001/test
http://192.168.0.10:30001/test
更多推荐
已为社区贡献6条内容
所有评论(0)