正在为k8s运行yaml中的kubectl图像的命令行



我想在使用kubectl映像的yaml文件命令行中声明任何"kubectl"命令,即等待另一个pod进入就绪状态。

如果我在命令中运行:

kubectl wait pod/mypod --for=condition=ready --timeout=120s

我得到了一个真实的信息:

pod/mypod条件满足

First-如何运行命令提示符,以便简单使用?

即使用kubectl version,因此输出是kube的版本,用于使用图像:kubectl:

kubectl run test -it --rm --image=bitnami/kubectl get pods --restart=Never --command -- 
/bin/kubectl version

(我想运行一次,并在pod结束时自动删除它。对于命令也是一样的:kubectl wait pod/mypod --for=condition=ready --timeout=120s或任何使用kubectl image的命令(。

以上内容不起作用。

此外,我应该如何将以上内容转换为kubernetes yaml文件(一次性运行-完成后,pod将自动删除(?

当我在等待,即mypod完成时,以下内容不起作用。

apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
selector:
matchLabels:
app: myapp
replicas: 3
template:
metadata:
labels:
app: myapp
spec:
initContainers:
- name: wait-for-pod
image: bitnami/kubectl
args:
- wait
- pod/mypod
- --for=condition=ready
- --timeout=120s
containers:
- name: myapp
image: myapp

状态为:Init:ContainerCannotRun

当我运行:kubectl describe pod <mypod>时,我得到消息:

OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "wait": executable file not found in $PATH: unknown

谢谢。

您的kubectl run命令错误。--image=bitnami/kubectl get pods部分不正确。您只需要指定图像,而不需要指定命令
正确的工作命令是

kubectl run test -it --rm --image=bitnami/kubectl --restart=Never -- version

当谈到部署清单时,您几乎做到了。只需将command列表添加到清单中,它就可以工作了。

apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
selector:
matchLabels:
app: myapp
replicas: 3
template:
metadata:
labels:
app: myapp
spec:
initContainers:
- name: wait-for-pod
image: bitnami/kubectl
command:
- kubectl
args:
- wait
- --for=condition=Ready
- pod/mypod
- --timeout=120s
containers:
- name: myapp
image: myapp

现在,您需要记住,连接到每个pod的system:serviceaccount:default:default服务帐户没有足够的特权在集群中列出pod。除非您给予默认服务帐户适当的权限,否则上述所有都将不起作用

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
namespace: default
name: service-reader
rules:
- apiGroups: [""]
resources: ["services"]
verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: service-reader-pod
subjects:
- kind: ServiceAccount
name: default
namespace: default
roleRef:
kind: ClusterRole
name: service-reader
apiGroup: rbac.authorization.k8s.io

相关内容

  • 没有找到相关文章

最新更新