草庐IT

docker - Kubernetes OOM pod 被杀死,因为内核内存增长太多

我正在开发一个java服务,它基本上在网络文件系统中创建文件来存储数据。它在Ubuntu18.04LTS的k8s集群中运行。当我们开始限制kubernetes中的内存(limits:memory:3Gi)时,pods开始被kubernetesOOMKilled。一开始我们以为是java进程的内存泄漏,但深入分析发现问题出在内核的内存上。我们验证了查看文件/sys/fs/cgroup/memory/memory.kmem.usage_in_bytes我们将这种情况隔离为仅使用DD命令创建文件(不含java),如下所示:foriin{1..50000};doddif=/dev/urando

docker - 未找到 openshift v3 pod 文件

我正在测试OpenshiftOriginv3。我按照说明将它安装为docker容器。我还在角色/openshift_examples/files/examples/image-streams/image-streams-centos7.json中部署了所有流。我现在正在通过从Github部署一个虚拟php应用程序来测试安装。我能够创建项目和应用程序。但是,构建卡在“待定”状态。在事件选项卡中,我看到很多这样的消息:"Unabletomountvolumesforpod"hello-world-1-build_php1":IsLikelyNotMountPoint("/var/lib/o

docker - 未找到 openshift v3 pod 文件

我正在测试OpenshiftOriginv3。我按照说明将它安装为docker容器。我还在角色/openshift_examples/files/examples/image-streams/image-streams-centos7.json中部署了所有流。我现在正在通过从Github部署一个虚拟php应用程序来测试安装。我能够创建项目和应用程序。但是,构建卡在“待定”状态。在事件选项卡中,我看到很多这样的消息:"Unabletomountvolumesforpod"hello-world-1-build_php1":IsLikelyNotMountPoint("/var/lib/o

docker - Kubernetes:Docker pod 启动失败,除了一个

我们正在Google容器引擎上运行Jetty服务。这项服务在带有rc的pod中运行得很好。我们可以关闭它,重建它并对它做各种各样的事情,它仍然可以工作。现在我们想用一个运行其他东西的debian镜像来扩展我们的基础架构。在本地,docker工作正常,我们可以访问debian命令行。一旦我们尝试在云中运行pod,就会遇到问题。我们使用的Dockerfile包含:FROMdebian:latest然后我们运行下面的命令:dockerbuild-teu.gcr.io/project_id/debstable:stable.gclouddockerpusheu.gcr.io/project_i

docker - Kubernetes:Docker pod 启动失败,除了一个

我们正在Google容器引擎上运行Jetty服务。这项服务在带有rc的pod中运行得很好。我们可以关闭它,重建它并对它做各种各样的事情,它仍然可以工作。现在我们想用一个运行其他东西的debian镜像来扩展我们的基础架构。在本地,docker工作正常,我们可以访问debian命令行。一旦我们尝试在云中运行pod,就会遇到问题。我们使用的Dockerfile包含:FROMdebian:latest然后我们运行下面的命令:dockerbuild-teu.gcr.io/project_id/debstable:stable.gclouddockerpusheu.gcr.io/project_i

docker - Kubernetes:当每个 pod 暴露一个端口时,一个节点中有多个 pod

我跟着Hello,Worldexample在Kubernetes入门指南中。在该示例中,在GoogleContainerEngine上创建了一个具有3个节点/实例的集群。container要部署的是一个基本的nodejshttp服务器,它监听8080端口。现在当我运行时kubectlrunhello-node--image--port8080它创建一个pod和deployment,部署pod在其中一个节点上。运行kubectlscaledeploymenthello-node--replicas=4命令将pod的数量增加到4个。但是既然每个pod都暴露了8080端口,那会不会在部署两个

docker - Kubernetes:当每个 pod 暴露一个端口时,一个节点中有多个 pod

我跟着Hello,Worldexample在Kubernetes入门指南中。在该示例中,在GoogleContainerEngine上创建了一个具有3个节点/实例的集群。container要部署的是一个基本的nodejshttp服务器,它监听8080端口。现在当我运行时kubectlrunhello-node--image--port8080它创建一个pod和deployment,部署pod在其中一个节点上。运行kubectlscaledeploymenthello-node--replicas=4命令将pod的数量增加到4个。但是既然每个pod都暴露了8080端口,那会不会在部署两个

ssl - Kubernetes 将 ca 证书添加到 pod 的信任根

在我的10台机器裸机Kubernetes集群中,一个服务需要调用另一个使用自签名证书的基于https的服务。但是,由于此自签名证书未添加到pod的受信任根ca中,因此调用失败说无法验证x.509证书。所有pod都基于ubuntudocker镜像。但是,将cacert添加到ubuntu上的信任列表的方法(使用dpkg-reconfigureca-certificates)不再适用于该pod。当然,即使我在一个pod上成功添加了ca证书以信任root,但当另一个pod被踢时,它就消失了。我搜索了Kubernetes文档,但惊讶地发现除了配置证书以与API服务对话之外没有找到任何其他文档,这

ssl - Kubernetes 将 ca 证书添加到 pod 的信任根

在我的10台机器裸机Kubernetes集群中,一个服务需要调用另一个使用自签名证书的基于https的服务。但是,由于此自签名证书未添加到pod的受信任根ca中,因此调用失败说无法验证x.509证书。所有pod都基于ubuntudocker镜像。但是,将cacert添加到ubuntu上的信任列表的方法(使用dpkg-reconfigureca-certificates)不再适用于该pod。当然,即使我在一个pod上成功添加了ca证书以信任root,但当另一个pod被踢时,它就消失了。我搜索了Kubernetes文档,但惊讶地发现除了配置证书以与API服务对话之外没有找到任何其他文档,这

docker - 如何在运行时将容器添加到 Kubernetes pod

我有几个Jobs在k8s上运行。这些作业运行一个自定义代理,该代理复制一些文件并为用户(受信任)提供的容器设置运行环境。该代理在用户容器一侧运行,捕获日志,等待容器退出并处理生成的结果。为了实现这一点,我们挂载Docker的套接字/var/run/docker.sock并作为特权容器运行,并在代理中使用docker-py与用户容器交互(设置、运行、捕获日志、终止)。这几乎可以正常工作,但我认为这是一个hack。由于用户容器是通过直接在节点上调用docker创建的,因此k8s不知道它的存在。由于我们的监控工具与K8s交互,并且无法查看这些独立的用户容器,因此这一直造成麻烦。这也使得pod