我正在尝试从私人注册表中提取图像。但 pod 的状态是“ImagePullBackOff”,这意味着我需要向 pod 添加一个 Secret。
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Pulling 52m (x255 over 22h) kubelet, cn-huhehaote.i-hp3fkfzlcf1u9cigq2h7 pulling image "xxx/fcp"
Normal BackOff 8m (x5597 over 22h) kubelet, cn-huhehaote.i-hp3fkfzlcf1u9cigq2h7 Back-off pulling image "xxx/fcp"
Warning Failed 3m (x5618 over 22h) kubelet, cn-huhehaote.i-hp3fkfzlcf1u9cigq2h7 Error: ImagePullBackOff
Run Code Online (Sandbox Code Playgroud)
所以我在 pod yaml 中添加了以下代码。
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: my-secret
Run Code Online (Sandbox Code Playgroud)
然后我得到了
error: map: map[] does not contain declared merge key: name
Run Code Online (Sandbox Code Playgroud)
我找到的解决方案是删除“imagePullSecret”,这对我不起作用。我想知道如何修复该错误。谁能帮我?
kubectl 版本是
kubectl …
Run Code Online (Sandbox Code Playgroud) 我正在使用 kubectl 来检索 pod 列表:
kubectl get pods --selector=artifact=boot-example -n my-sandbox
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
NAME READY STATUS RESTARTS AGE
boot-example-757c4c6d9c-kk7mg 0/1 Running 0 77m
boot-example-7dd6cd8d49-d46xs 1/1 Running 0 84m
boot-example-7dd6cd8d49-sktf8 1/1 Running 0 88m
Run Code Online (Sandbox Code Playgroud)
我只想得到那些“准备好”的豆荚(通过了readinessProbe)。是否有任何 kubectl 命令只返回“就绪”pods?如果不是 kubectl 命令,那么也许是其他方式?
我在用 kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml
创建部署。
我想在我的命名空间中创建部署 examplenamespace
。
我怎样才能做到这一点?
我是 Kubernetes 的初学者,我遇到以下情况:我有两个不同的 Pod:PodA和PodB。首先,我想将PodA暴露给外界,所以我为PodA创建了一个Service(类型为 NodePort 或 LoadBalancer),这对我来说并不难理解。
然后我希望PodA与PodB进行通信,经过几个小时的谷歌搜索,我发现答案是我还需要为 PodB 创建一个服务(如果我想让PodB 仅在集群内可见,请键入 ClusterIP) ,如果我这样做,我可以让PodA和PodB互相通信。但问题是我也找到了这篇文章。根据这个网页,他们说同一节点上的 Pod 之间的通信可以通过网桥来完成cbr0
,或者不同节点上的 Pod 之间的通信可以通过route table
集群的一个来完成,但他们没有提及任何内容Service对象(这意味着我们不需要Service对象???)。
其实我也看了K8s的文档,在集群网络中找到
集群网络
...
2. Pod 到 Pod 通信:这是本文档的主要焦点。
...
他们还关注Pod 到 Pod 的通信,但没有与Service对象相关的内容。
所以,我现在真的很困惑,我的问题是:您能否向我解释一下文章中的这些内容与Service …
kubernetes google-kubernetes-engine kubernetes-pod azure-aks
我想知道在 Kubernetes 中启动我的 pod 需要多长时间。我的 Pod 有3 Init Containers
和9 actual Containers
。到目前为止,这是我尝试过的:
AGE
inkubectl describe pod <pod_name>
将给出启动时间的想法。kubectl events
使用或查看 pod 的事件kubectl describe
。问题是并非所有容器都存在事件。此外,没有明确的方法来了解 pod 处于READY
状态所需的时间。问: Kubernetes 是否提供了确定整个 Pod 启动时间的方法?
为什么我不能进行如下设置。我想将 vol1 映射到具有不同子路径 xyz 的 pod,将 vol2 映射到具有子路径 abc 的同一 pod。
volumes:
- name:vol1
persistentVolumeClaim:
claimName: testclaim
- name: vol2
persistentVolumeClaim:
claimName: testclaim
Run Code Online (Sandbox Code Playgroud)
容器体积安装:
volumeMounts:
- name: vol1
mountPath: /test/
subPath: abc
- name: vol2
mountPath: /test2/
subPath: xyz
Run Code Online (Sandbox Code Playgroud)
这种设置的替代方案是什么?
kubernetes google-kubernetes-engine persistent-volumes kubernetes-pod
我正在编写一个shell脚本,需要登录pod并在kubernetes pod中执行一系列命令.
下面是我的sample_script.sh
kubectl exec octavia-api-worker-pod-test -c octavia-api bash
unset http_proxy https_proxy
mv /usr/local/etc/octavia/octavia.conf /usr/local/etc/octavia/octavia.conf-orig
/usr/local/bin/octavia-db-manage --config-file /usr/local/etc/octavia/octavia.conf upgrade head
运行此脚本后,我没有得到任何输出.任何帮助将不胜感激
我尝试使用kubernetes安装dgraph(单个服务器)。现在我需要删除的是已创建的Pod。我使用kubectl delete pod pod-name删除了它,结果显示“ pod delete”,但是pod又重新创建了自己,并继续复制。我需要从Kubernetes中取出那些豆荚。我现在应该怎么做?
我想ENV_VAR_VALUE
在通过 Kubernetes 部署期间为容器设置一个环境变量(我只是命名)。
我在 pod yaml 配置中有以下内容:
...
...
spec:
containers:
- name: appname-service
image: path/to/registry/image-name
ports:
- containerPort: 1234
env:
- name: "ENV_VAR_VALUE"
value: "some.important.value"
...
...
Run Code Online (Sandbox Code Playgroud)
容器需要使用ENV_VAR_VALUE
的值。
但是在容器的应用程序日志中,它的值总是为空。
所以,我尝试从容器内部检查它的值:
$ kubectl exec -it appname-service bash
root@appname-service:/# echo $ENV_VAR_VALUE
some.important.value
root@appname-service:/#
Run Code Online (Sandbox Code Playgroud)
因此,该值已成功设置。
我想这是因为在容器已经初始化之后设置了从 Kubernetes 定义的环境变量。
因此,我尝试从 pod yaml 配置中覆盖容器的 CMD:
...
...
spec:
containers:
- name: appname-service
image: path/to/registry/image-name
ports:
- containerPort: 1234
env:
- name: "ENV_VAR_VALUE"
value: "some.important.value"
command: ["/bin/bash"]
args: ["-c", …
Run Code Online (Sandbox Code Playgroud) 我对使用 Helm Chart 非常陌生,不知道为什么在尝试安装 Helm Chart 时会出现此错误。我正在使用 --set 和 helm install 命令来设置 ingress.hosts[0].host 处的主机名。我不明白为什么它说缺少路径,而“路径”已经存在。
入口.yaml
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "project.fullname" . -}}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app.kubernetes.io/name: {{ include "project.name" . }}
helm.sh/chart: {{ include "project.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls …
Run Code Online (Sandbox Code Playgroud) kubernetes kubernetes-helm kubernetes-ingress kubernetes-pod