1)构建镜像
[root@master order-service]# cd order-service-biz/
[root@master order-service-biz]# ls
Dockerfile  pom.xml  src  target
[root@master order-service-biz]# cat Dockerfile 
FROM java:8-jdk-alpine
RUN  apk add -U tzdata && \
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./target/order-service-biz.jar ./
EXPOSE 8020
CMD java -jar /order-service-biz.jar


[root@master order-service-biz]# docker build -t reg.harbor.com/microservice/order:v1 .
Sending build context to Docker daemon  45.94MB
Step 1/5 : FROM java:8-jdk-alpine
 ---> 3fd9dd82815c
Step 2/5 : RUN  apk add -U tzdata &&      ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 ---> Using cache
 ---> a9034491fdd5
Step 3/5 : COPY ./target/order-service-biz.jar ./
 ---> 25c3a137078a
Step 4/5 : EXPOSE 8020
 ---> Running in 57f22b0a96b3
Removing intermediate container 57f22b0a96b3
 ---> e9a11bc917b2
Step 5/5 : CMD java -jar /order-service-biz.jar
 ---> Running in e18775330a8a
Removing intermediate container e18775330a8a
 ---> b9d75b047b0a
Successfully built b9d75b047b0a
Successfully tagged reg.harbor.com/microservice/order:v1

[root@master order-service-biz]# docker push  reg.harbor.com/microservice/order:v1 
2)部署服务
[root@master k8s]# cat order.yaml 
apiVersion: apps/v1
kind: Deployment 
metadata:
  name: order
  namespace: ms 
spec:
  replicas: 1
  selector:
    matchLabels:
      project: ms
      app: order
  template:
    metadata:
      labels:
        project: ms 
        app: order
    spec:
      imagePullSecrets:
      - name: registry-pull-secret
      containers:
      - name: order
        image: reg.harbor.com/microservice/order:v1
        imagePullPolicy: Always
        resources:
          requests:
            cpu: 0.5
            memory: 256Mi
          limits:
            cpu: 1
            memory: 1Gi   
        ports:
          - protocol: TCP
            containerPort: 8020 
        readinessProbe:
          tcpSocket:
            port: 8020
          initialDelaySeconds: 60
          periodSeconds: 10
        livenessProbe:
          tcpSocket:
            port: 8020
          initialDelaySeconds: 60
          periodSeconds: 10

[root@master k8s]# kubectl get pod -n ms
NAME                       READY   STATUS    RESTARTS   AGE
eureka-0                   1/1     Running   0          2d22h
eureka-1                   1/1     Running   1          2d22h
eureka-2                   1/1     Running   1          2d22h
gateway-77bb7dbbc8-xqkk5   1/1     Running   0          47h
order-55c7cfb854-mjf7p     1/1     Running   0          9m51s
portal-56d598d98d-qx4qd    1/1     Running   0          25h

 

Logo

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

更多推荐