我有一个部署运行一个由一个独特容器组成的 pod。部署当前已启动并正在运行,我想修改其 pod 模板以向容器添加端口。
以下是当前定义的端口:
$ kubectl get deployment -o yaml spark-master | yq -r -y '.spec.template.spec.containers[] | select(.name=="spark-master").ports'
- containerPort: 7077
protocol: TCP
- containerPort: 8080
protocol: TCP
Run Code Online (Sandbox Code Playgroud)
这是我尝试添加端口的补丁6066
:
$ kubectl patch deployment spark-master -p '{"op": "add", "path": "/spec/template/spec/containers/0/ports/-", "value": {"containerPort": 6066}}'
deployment "spark-master" not patched
$ kubectl get deployment -o yaml spark-master | yq -r -y '.spec.template.spec.containers[] | select(.name=="spark-master").ports'
- containerPort: 7077
protocol: TCP
- containerPort: 8080
protocol: TCP
Run Code Online (Sandbox Code Playgroud)
……没有成功。
另一个尝试,这次指定端口协议:
$ kubectl patch deployment spark-master …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 v1.18 GKE kubernetes 集群上部署 pod
我的 Pod 循环崩溃,因为它无法挂载其配置映射:
$ kubectl describe pod <pod>
...
Volumes:
cm-cxf-conf:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: project-cm-cxf-conf
Optional: false
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedMount 41m kubelet MountVolume.SetUp failed for volume "cm-cxf-conf" : failed to sync configmap cache: timed out waiting for the condition
...
Run Code Online (Sandbox Code Playgroud)
但是,配置映射确实存在:
$ kubectl get configmap project-cm-cxf-conf
project-cm-cxf-conf 1 4h40m
Run Code Online (Sandbox Code Playgroud)
导致此错误的原因可能是什么?我该如何修复它?
kubernetes ×2