我厌倦了删除一个带有12个pod的复制控制器,我可以看到一些pod停留在终止状态.我的Kubernetes设置包括在ubuntu vms中安装的一个主机和三个minons.这个问题可能是什么原因?
NAME READY STATUS RESTARTS AGE
pod-186o2 1/1 Terminating 0 2h
pod-4b6qc 1/1 Terminating 0 2h
pod-8xl86 1/1 Terminating 0 1h
pod-d6htc 1/1 Terminating 0 1h
pod-vlzov 1/1 Terminating 0 1h
Run Code Online (Sandbox Code Playgroud) 我在我的Ubuntu机器上安装了Kubernetes.出于某些调试目的,我需要查看kubelet日志文件(如果有任何此类文件).
我看了/var/logs但是找不到这样的文件.那可能在哪里?
我想在commandkubernetes配置文件的标签中向Docker容器发送多个入口点命令.
apiVersion: v1
kind: Pod
metadata:
name: hello-world
spec: # specification of the pod’s contents
restartPolicy: Never
containers:
- name: hello
image: "ubuntu:14.04"
command: ["command1 arg1 arg2 && command2 arg3 && command3 arg 4"]
Run Code Online (Sandbox Code Playgroud)
但似乎它不起作用.在命令标记中发送多个命令的正确格式是什么?
我在我的Ubuntu机器上安装了Kubernetes安装程序.我正在尝试根据此http://kubernetes.io/v1.1/examples/nfs/文档设置nfs卷并将其安装到容器中.
nfs服务和pod配置
kind: Service
apiVersion: v1
metadata:
name: nfs-server
spec:
ports:
- port: 2049
selector:
role: nfs-server
---
apiVersion: v1
kind: Pod
metadata:
name: nfs-server
labels:
role: nfs-server
spec:
containers:
- name: nfs-server
image: jsafrane/nfs-data
ports:
- name: nfs
containerPort: 2049
securityContext:
privileged: true
Run Code Online (Sandbox Code Playgroud)
用于挂载nfs卷的pod配置
apiVersion: v1
kind: Pod
metadata:
name: nfs-web
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
volumeMounts:
# name must match the volume name below
- name: nfs
mountPath: …Run Code Online (Sandbox Code Playgroud) 我正在为pod创建一个基于ram的emptyDir卷.
volumes:
- name: ram-disk
emptyDir:
medium: "Memory"
Run Code Online (Sandbox Code Playgroud)
因为这是一个ram磁盘,我需要设置从ram获取的最大大小.是否有参数来设置最大尺寸和最小尺寸?
我必须创建一个docker文件,将MyApp目录复制到映像中.
MyApp
-libs
-classes
-resources
Run Code Online (Sandbox Code Playgroud)
Libs目录有大约50 MB,并且它不经常更改,因为Classes目录大约1 MB并且它经常发生变化.为了优化docker构建,我计划在Dockerfile的开头添加Libs目录,并在Dockerfile的末尾添加其他目录.我目前的做法是这样的
ADD MyApp/libs /opt/MyApp/libs
## do other operations
ADD MyApp/classes /opt/MyApp/resources
ADD MyApp/classes /opt/MyApp/classes
Run Code Online (Sandbox Code Playgroud)
这不是可维护的格式,因为将来我可能在MyApp目录中有一些其他目录要复制到docker镜像中.我的目标是写一个像这样的docker文件
ADD MyApp/libs /opt/MyApp/libs
## do other operations
ADD MyApp -exclude MyApp/libs /opt/MyApp
Run Code Online (Sandbox Code Playgroud)
是否有类似的命令来排除复制到docker镜像的目录中的某些文件?
有没有一种方法可以在Kubernetes API上启用CORS,以便可以将Ajax请求发送到具有其他域的Kubernetes API?
我有一个在 Kubernetes pod 中运行的应用程序,该应用程序使用复制控制器进行复制。但是,我需要一次由单个应用程序(一个复制)完成的一些关键任务。以前我使用 zookeeper 来获取集群锁来完成该任务。Kubernetes 有没有办法为特定的复制控制器获取集群锁?
当我们为复制控制器创建 yml 时,我们可以为正在创建的 pod 提供标签。
apiVersion: v1
kind: ReplicationController
metadata:
name: redis
spec:
template:
metadata:
labels:
app: redis
tier: backend
Run Code Online (Sandbox Code Playgroud)
驻留在该 Pod 中的容器可以访问这些标签值吗?