一、部署项目

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

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐