首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在kubernetes pod中找到初始容器创建的文件和文件夹。

无法在kubernetes pod中找到初始容器创建的文件和文件夹。
EN

Stack Overflow用户
提问于 2020-02-29 07:05:57
回答 1查看 525关注 0票数 0

我正在使用一个初始容器(k8s版本:v1.15.2)在容器startup.But之前对startup.But文件进行初始扫描(6.5.0),无法找到初始容器创建的文件和目录,这是我的初始容器定义:

代码语言:javascript
复制
"initContainers": [
      {
        "name": "init-agent",
        "image": "registry.cn-shenzhen.aliyuncs.com/dabai_app_k8s/dabai_fat/skywalking-agent:6.5.0",
        "command": [
          "sh",
          "-c",
          "set -ex;mkdir -p /skywalking/agent;cp -r /opt/skywalking/agent/* /skywalking/agent;"
        ],
        "resources": {},
        "volumeMounts": [
          {
            "name": "agent",
            "mountPath": "/skywalking/agent"
          },
          {
            "name": "default-token-xnrwt",
            "readOnly": true,
            "mountPath": "/var/run/secrets/kubernetes.io/serviceaccount"
          }
        ],
        "terminationMessagePath": "/dev/termination-log",
        "terminationMessagePolicy": "File",
        "imagePullPolicy": "Always"
      }
    ]

现在,初始容器执行成功,我将检查日志输出如下:

代码语言:javascript
复制
~/Library/Mobile Documents/com~apple~CloudDocs/Document/source/dabai/microservice/soa-red-envelope on  develop_jiangxiaoqiang! ⌚ 14:48:26
$ kubectl logs soa-red-envelope-service-85758d88cb-rmtcj -c init-agent
+ mkdir -p /skywalking/agent
+ cp -r /opt/skywalking/agent/activations /opt/skywalking/agent/bootstrap-plugins /opt/skywalking/agent/config /opt/skywalking/agent/logs /opt/skywalking/agent/optional-plugins /opt/skywalking/agent/plugins /opt/skywalking/agent/skywalking-agent.jar /skywalking/agent

现在,我感到困惑的是目录的位置?我收到的文件在哪里?我正在登录我的容器,但找不到jar文件:

代码语言:javascript
复制
~/Library/Mobile Documents/com~apple~CloudDocs/Document/source/dabai/microservice/soa-red-envelope on  develop_jiangxiaoqiang! ⌚ 14:50:55
$ kubectl exec -it soa-red-envelope-service-85758d88cb-rmtcj /bin/ash
/ # ls
bin    data   dev    etc    home   lib    media  mnt    opt    proc   root   run    sbin   srv    sys    tmp    usr    var
/ # cd /opt/
/opt # ls
data
/opt #

现在,我开始我的应用程序来收集像这样的度量数据:

代码语言:javascript
复制
ENTRYPOINT exec java -Xmx1g -Xms1g -Dapp.id=$APP_ID -javaagent:/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=soa-red-envelope-service -Dskywalking.collector.backend_service=10.254.35.220:11800 -jar /root/soa-red-envelope-service-1.0.0-SNAPSHOT.jar

显然,它告诉我不能喜欢jar文件错误:

代码语言:javascript
复制
Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file or JAR manifest missing : /skywalking/agent/skywalking-agent.jar

那我该怎么做才能解决这个问题?我已经在网上搜索,但没有找到解决我的情况的有用的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-29 09:08:36

所以你应该先看一下这份文件

https://kubernetes.io/docs/concepts/storage/volumes/#hostpath

hostPath为样本

代码语言:javascript
复制
  volumes:
  - name: agent
    hostPath:
      # directory location on host
      path: /agent
      # this field is optional
      type: Directory

您需要为init容器和普通容器引用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60462786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档