请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

kubectl create -f web.yaml 无法启动

yinuojr-discovery是我们公司的服务。
启动命令命令是 /bubidata/server/data/yinuojr-discovery/bin/launch start
添加 start.sh


#!/bin/sh
/bubidata/server/data/yinuojr-discovery/bin/launch start
/bin/bash

dockerfile

# base image
FROM  hub.bubi.cn/kubernetes/anapsix/alpine-java
#ADD  文件放在当前目录下,拷过去会自动解压
ADD  yinuojr-discovery   /bubidata/server/data/yinuojr-discovery
EXPOSE 11009
RUN echo -e '#!/bin/sh
/bubidata/server/data/yinuojr-discovery/bin/launch start
/bin/bash ' > /bubidata/server/data/yinuojr-discovery/bin/start.sh  && chmod +x /bubidata/server/data/yinuojr-discovery/bin/sta
rt.sh CMD [ "/bin/sh","/bubidata/server/data/yinuojr-discovery/bin/start.sh" ]

docker run -itd hub.bubi.cn/kubernetes/yinuojr-discovery:20190716025458 通过命令 可以启动成功镜像。容器里面服务也起来了了

但是通过
kubectl create -f web.yaml 启动起来马上就又挂了,这是为什么

#deploy
apiVersion: apps/v1
kind: Deployment
metadata:
  name: yinuojr-discovery
spec:
  selector:
    matchLabels:
      app: yinuojr-discovery
  replicas: 1
  template:
    metadata:
      labels:
        app: yinuojr-discovery
    spec:
      containers:
      - name: yinuojr-discovery
        image: hub.bubi.cn/kubernetes/yinuojr-discovery:20190716025458
        ports:
        - containerPort: 11009
---
#service
apiVersion: v1
kind: Service
metadata:
  name: yinuojr-discovery
spec:
  ports:
  - port: 11009
    protocol: TCP
    targetPort: 11009
  selector:
    app: yinuojr-discovery
  type: ClusterIP


---
#ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: yinuojr-discovery
spec:
  rules:
  - host: 
    http:
      paths:
      - path: /
        backend:
          serviceName: yinuojr-discovery
          servicePort: 11009

马上就挂

正在回答 回答被采纳积分+3

1回答

we_cant_stop 2019-07-16 16:52:53

查看pod的错误日志啊

0 回复 有任何疑惑可以回复我~
  • 查看pod日志
    kubectl logs --tail 200 -f    yinuojr-discovery-5fdf664f74-vwq8j
    
    Starting yinuojr-discovery...
    
    就没有了
    回复 有任何疑惑可以回复我~ 2019-07-16 17:24:32
  • 刘果国 回复 提问者 weixin_精慕门5526612 #2
    看截图已经运行50多秒才退出,可以去容器内查看应用日志和进程状态。还可以改一下启动脚本,后台方式启动应用,然后用tail随便一个文件卡住前台脚本,就可以去容器里随便撒欢了
    回复 有任何疑惑可以回复我~ 2019-07-17 08:34:26
  • 提问者 weixin_精慕门5526612 回复 刘果国 #3
    秒停止啊,50s是下载镜像创建容器的时间,我们java程序不是前台执行,是后台运行,前台不输出日志。日志输出到指定目录。
    回复 有任何疑惑可以回复我~ 2019-07-17 09:48:01
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号