Kubernetes中部署SpringBoot 应用

创建Dockerfile(把自己的项目部署到服务器)

如果多个replicas的话 就是负载均衡了

FROM java:8
VOLUME /tmp
ADD /target/test-walle-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005","/app.jar"]

在 Kubernetes 中添加服务

kubernetes会自动检测服务是否正常参考Liveness

方式1 http需要保证path路径能够访问

    livenessProbe:
      httpGet:
        path: /healthz
        port: 8080
        httpHeaders:
        - name: Custom-Header
          value: Awesome
      initialDelaySeconds: 3
      periodSeconds: 3

方式2 tcp需要保证端口可以通

    livenessProbe:
      tcpSocket:
        port: 8080
      initialDelaySeconds: 15
      periodSeconds: 20

vi k8s-demo.yaml

修改镜像名:image: registry.cn-qingdao.aliyuncs.com/hellowoodes/k8s-service

apiVersion: v1
kind: Service
metadata:
  name: k8s-service
  namespace: default
  labels:
    app: k8s-service
spec:
  type: NodePort
  ports:
  - port: 8080
    nodePort: 30002
  selector:
    app: k8s-service

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: k8s-service
  labels:
    app: k8s-service
spec:
  replicas: 1
  selector:
    matchLabels:
      app: k8s-service
  template:
    metadata:
      labels:
        app: k8s-service
    spec:
      containers:
      - name: k8s-service
        image: registry.cn-qingdao.aliyuncs.com/hellowoodes/k8s-service
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 8080
        livenessProbe:
          tcpSocket:
            port: 8080
          periodSeconds: 15
          initialDelaySeconds: 30

创建服务

kubectl apply -f k8s-demo.yaml

等待服务启动之后访问 ${NodeIP}:30002/k8s,会返回 Hello Kubernetes,部署完成

也可以直接在kubernetes界面中右侧点击创建 输出yaml的内容


文章作者: Ciwei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Ciwei !
 上一篇
Kubernetes 1.14.2快速升级 Kubernetes 1.14.2快速升级
1、升级kubeadm/kubectl/kubelet版本 sudo apt install kubeadm=1.14.2-00 kubectl=1.14.2-00 kubelet=1.14.2-00 查看该版本的容器镜像版本: kub
2019-06-01
下一篇 
kubernetes-1.14.2集群安装和dashbaord面板 kubernetes-1.14.2集群安装和dashbaord面板
初始化环境特别注意的地方:node节点无法加入master日志也看不出什么,因为hostname相同,kubeadm reset里面会还原hostname,多检查hostname,可以使用hostnamectl –static set-ho
2019-06-01
  目录