k8s部署栗子

1:mvn对应的项目的jar

编写Dockerfile

以最简单的可以运行java的镜像举例

FROM openjdk:8
COPY study-0.0.1-SNAPSHOT.jar /study-0.0.1-SNAPSHOT.jar
CMD ["java","-jar","/study-0.0.1-SNAPSHOT.jar"]

3:build出对应的image

docker build -t helloworld .

4:docker push到指定的镜像中心

5:编写deployment.yaml部署文件

spec:
  selector:
    matchLabels:
      app: springboot
  replicas: 2 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: springboot
    spec:
      containers:
      - name: springboot
        image: helloworld
        #本地拉取镜像
        imagePullPolicy: Never
        ports:
        - containerPort: 80

6:发布部署

kubectl apply -f helloworld-deployment.yaml

查看部署是否成功

kubectl get pods

7:编写service.yaml部署文件

apiVersion: v1
kind: Service
metadata:
  name: hello-service
spec:
  type: NodePort
  selector:
    app: springboot
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

查看部署是否成功

kubectl get services

8:查看服务端口绑定到物理节点的端口

kubectl get svc

服务端口映射到物理主机的端口是32405

9:验证是否可以使用访问

那么一个最基本的boot服务从package到打入docker镜像,再到k8s集群去负责编排调度,到完成使用就可以了。


   转载规则


《k8s部署栗子》 锦泉 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录