问题标签 [kubernetes-pod]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - Pods 在 Kubernetes 集群中崩溃
在使用 kubernetes 集群部署我的 java 应用程序时,我的 Pod 多次崩溃并重新启动。
我能够使用 kubernetes pod 运行小型微服务。
在创建 pod 时,我收到以下异常:
有什么建议吗?
kubernetes - Kubenetes pod 抢占可以在多个调度程序之间发生吗?
从文档中我知道 Pod 必须由一个调度程序调度。比如 scheduler A
schedule poda
和 scheduler B
schedule pod b
。
问题是:如果已经在运行,可以a
抢占吗?哪个调度器会做这个操作?b
b
kubernetes - 应该如何将 React + Node.js 应用程序拆分为 Kubernetes 的容器/pod?
我读到一个 pod 通常只有 1 个容器。
这是否意味着我应该有 2 个 pod:1 个 React 和 1 个 Node.js?
如果我有一个像 nginx 这样的 Web 服务器在 React 前端运行怎么办?那么 React + nginx = 2 个容器 = 1 个前端 pod 和 1 个 Node.js pod?
docker - Kubernetes-如何在 Kubernetes 中将数据从一个 pod 发送到另一个 pod
在码头,我有两个容器Mosquitto
abduserInfo
userInfo
是一个容器,它执行一些逻辑,然后将结果发送到 mosquitto 容器。Mosquitto 容器然后使用此信息将其发送到 IOT 集线器。为了在 Docker 中启动这些容器,我创建了一个网络并在同一个网络中启动了这两个容器。所以我可以很容易地使用mosquitto
容器内容器的主机名userinfo
来发送数据。我需要在 Kubernetes 中做同样的事情。
所以在 kubernetes 中,我所做的,我部署了Mosquitto
它的 POD,然后我创建了它的服务并在userInfo
pod 内使用它来发送数据到mosquitto
. 但这不起作用。
我通过使用创建了服务
我需要发送 to 的userInfo
数据Mosquitto
。
我怎样才能做到这一点。?
我需要像以前那样创建网络
dockers
还是有其他方法。?
我还尝试使用两个容器(即mosquitto
& )创建一个 pod userInfo
,但这也不起作用。
谢谢
kubernetes - Kubernetes pod CrashLoopBackOff
服务器有那些 docker 图像。红色是从仓库拉出来的,黄色是自己修改的,然后提交
现在,我使用从存储库中提取的图像来创建 pod,它没有错误,并且正在运行。
apiVersion: v1
kind: ReplicationController
metadata:
name: sds
spec:
replicas: 1
selector:
app: sds
template:
metadata:
labels:
app: sds
spec:
containers:
- name: sds
imagePullPolicy: IfNotPresent
image: tomcat
ports:
- containerPort: 8080
红豆荚
但是如果我使用我修改的图像来创建 pod,那就是 crachLoopBackOff。
apiVersion: v1
kind: ReplicationController
metadata:
name: sds
spec:
replicas: 1
selector:
app: sds
template:
metadata:
labels:
app: sds
spec:
containers:
- name: sds
imagePullPolicy: IfNotPresent
image: mytomcat
ports:
- containerPort: 8080
红色的
我用kubectl logs [podname]
,但是什么都不
显示 在这里输入图片描述
我用kubectl describe pod [podName]
显示这个吊舱的描述!
错误 pod 的描述
kubernetes - Kubernetes 在创建 Pod 时提交作业?
我有一个使用 Kubernetes 中的本地存储运行的数据库。每当我使用数据库启动 Pod 时,我想运行一个作业,它可以查看我们的备份并回填我们拥有的任何不在本地磁盘上的数据。
我正在查看 PostStart 生命周期钩子,但这只是让我从主容器运行命令,这将是提交此 Job 的一种非常 hacky 的方式。除了编写我自己的控制器之外,还有什么更好的方法吗?
kubernetes - Openshift pod 抱怨缺少图像目录
我在 Ubuntu 上测试了我的 ApachedMQ 映像,它在 Docker 上运行良好。在 Openshift 上部署相同的映像不起作用。它应该像 Ubuntu 一样开箱即用,但它总是抱怨 pod 中缺少目录,或者 pod 中的目录缺少权限。您将在下面看到有关前者的错误。
我正在使用免费版的 Openshift online v3.x 我只使用控制台从映像进行部署。下面只是 pod 为部署而加速时的日志消息示例。
任何帮助将不胜感激,因为这个图像应该 IMO,可以从控制台部署,而不需要任何 YAML 和 oc CLI。一些日志跟踪信息:
INFO: Loading '/opt/activemq/bin/env'
INFO: Using java '/docker-java-home/jre/bin/java'
INFO: Starting in foreground, this is just for debugging purposes (stop process by pressing CTRL+C)
INFO: Creating pidfile /opt/activemq/data/activemq.pid
bin/activemq: 484: bin/activemq: cannot create /opt/activemq/data/activemq.pid: Permission denied
Java Runtime: Oracle Corporation 1.8.0_141 /usr/lib/jvm/java-8-openjdk-amd64/jre
Heap sizes: current=62976k free=58714k max=932352k
JVM args: -Xms64M -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=/opt/activemq/conf/login.config -Dcom.sun.management.jmxremote -Djava.awt.headless=true -Djava.io.tmpdir=/opt/activemq/tmp -Dactivemq.classpath=/opt/activemq/conf:/opt/activemq/../lib/: -Dactivemq.home=/opt/activemq -Dactivemq.base=/opt/activemq -Dactivemq.conf=/opt/activemq/conf -Dactivemq.data=/opt/activemq/data
Extensions classpath:
[/opt/activemq/lib,/opt/activemq/lib/camel,/opt/activemq/lib/optional,/opt/activemq/lib/web,/opt/activemq/lib/extra]
ACTIVEMQ_HOME: /opt/activemq
ACTIVEMQ_BASE: /opt/activemq
ACTIVEMQ_CONF: /opt/activemq/conf
ACTIVEMQ_DATA: /opt/activemq/data
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /opt/activemq/data/activemq.log (Permission denied)
...
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /opt/activemq/data/audit.log (Permission denied)
...
Loading message broker from: xbean:activemq.xml
INFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@5bcab519: startup date [Fri Mar 16 21:10:18 UTC 2018]; root of context hierarchy
WARN | Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.io.IOException: Failed to create directory '/opt/activemq/data/kahadb'
ERROR | Failed to load: class path resource [activemq.xml], reason: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.io.IOException: Failed to create directory '/opt/activemq/data/kahadb'
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.io.IOException: Failed to create directory '/opt/activemq/data/kahadb'
kubernetes - kubernetes 复制命令没有响应
我想将一个文件夹复制到 pod,我正在使用以下命令
kubectl cp keys $POD:/home/oracle/
问题是当我按 Enter 时,我没有看到任何响应(复制文件夹后它没有退出),好像命令需要很长时间,虽然当我检查时POD 我可以看到文件夹已复制。
我需要用ctrl+关闭它c才能执行下一个命令。
下面是调试日志
```
```
cron - 在 Kubernetes 的 pod 中运行 cronjob
我有一个在 kubernetes 集群中运行的后端 nodeJS 应用程序。现在我想每个月运行两个 cron 作业。cron 作业位于 JS 文件中。如何使用 Kubernetes 创建一个在每个月运行该服务的 pod 中运行这些 JS 文件的作业?
此链接基本了解它的工作原理,但我对如何在特定服务和特定 pod 上运行它有点困惑
https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ #writing-a-cron-job-spec