1、springboot打包生成一个jar,example-0.0.1-SNAPSHOT.jar
2、通过java -jar example-0.0.1-SNAPSHOT.jar 可以启动服务
   服务器能访问:http://localhost:8989/hello
3、新建文件Dockerfile ,内容如下:
######################################
FROM openjdk:8-jre-alpine
MAINTAINER Ma Lizhi
COPY example-0.0.1-SNAPSHOT.jar /app.jar
CMD java -jar /app.jar
EXPOSE 8989
######################################
4、通过如下命令生成镜像helloworld
[noteuser@note-02 example]$ docker build -t helloworld .

5、在k8s集群内部所有的机器的docker环境中执行部署4
6、新建helloworld.yaml文件
######################################
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: helloworld-pod
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: helloworld-pod
    spec:
      containers:
      - name: helloworld
        image: helloworld
        imagePullPolicy: Never
        ports:
        - containerPort: 8989
######################################
创建pod
[noteuser@note-02 example]$ kubectl apply -f helloworld.yaml 


7、创建svc
######################################
apiVersion: v1
kind: Service
metadata:
  name: helloworld-svc
spec:
  selector:
      app: helloworld-pod
  ports:
    - name: http
      port: 8000
      protocol: TCP
      targetPort: 8989
      nodePort: 31000
  type: NodePort
######################################

8、从集群外部可以通过任一ip访问:
http://10.129.252.216:31000/hello

[noteuser@note-02 example]$ kubectl get nodes
NAME             STATUS                     ROLES    AGE   VERSION
10.129.252.215   Ready,SchedulingDisabled   master   17d   v1.15.0
10.129.252.216   Ready                      node     17d   v1.15.0
10.129.252.217   Ready,SchedulingDisabled   master   17d   v1.15.0
10.129.252.232   Ready                      node     17d   v1.15.0
 

Logo

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

更多推荐