Kubernetes----Pod配置容器启动命令

一、启动命令

1.1 编写配置文件

创建pod_command.yaml文件,并编写如下内容,即在容器启动之后,向 、opt/text.txt文件写入时间戳,执行命令主要通过command字段传入,类型为列表格式

apiVersion: v1
kind: Namespace
metadata:
  name: dev

---

apiVersion: v1
kind: Pod
metadata:
  name: pod-command
  namespace: dev
  labels:
    user: redrose2100
spec:
  containers:
  - name: busybox
    image: busybox:1.30
    command: ["/bin/sh","-c","touch /tmp/hello.txt;while true;do /bin/echo $(date +%T) >> /tmp/hello.txt;sleep 3;done;"]

1.2 创建资源

使用如下命令创建namespace和pod资源

[root@master pod]# kubectl apply -f pod_command.yaml
namespace/dev created
pod/pod-command created
[root@master pod]#

1.3 进入容器检查数据

如下,进入容器中,并查看 /tmp/hello.txt文件内容,如下,表示已经成功执行命令

[root@master pod]# kubectl get pod -n dev
NAME          READY   STATUS    RESTARTS   AGE
pod-command   1/1     Running   0          6s
[root@master pod]# kubectl exec pod-command -n dev -it -c busybox /bin/sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
/ # tail -n 5 /tmp/hello.txt
15:13:58
15:14:01
15:14:04
15:14:07
15:14:10
/ #

1.4 关于kubernetes中command和args的参数说明:

  • 如果command和args都没写,则使用dockerfile中的配置
  • 如果command写了,但是args没写,那么dockerfile默认配置会被忽略,执行输入的command
  • 如果command没写,但是args写了,那么dockerfile中配置的ENTRYPOINT的命令会被执行,使用当前args的参数
  • 如果command和args都写了,那么dockerfile的配置被忽略,执行command追加上args参数

1.5 删除资源

使用如下命令删除资源

[root@master pod]# kubectl delete -f pod_command.yaml
namespace "dev" deleted
pod "pod-command" deleted
[root@master pod]#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pod 处于 CrashLoopBackOff 状态通常是由于容器启动后立即崩溃或退出导致的。kube-proxy 是 Kubernetes 中的一个组件,负责实现集群内部的网络代理和负载均衡功能。当 kube-proxy 所在的 Pod 处于 CrashLoopBackOff 状态时,可能会导致集群内部的网络通信出现问题。 要解决 kube-proxy Pod 的 CrashLoopBackOff 状态,可以按照以下步骤进行排查和修复: 1. 查看 Pod 的日志:使用 kubectl logs 命令查看 kube-proxy Pod 的日志,可以获取更多关于崩溃原因的信息。例如,执行以下命令获取 kube-proxy Pod 的日志: ``` kubectl logs <kube-proxy-pod-name> -n <namespace> ``` 2. 检查容器配置:检查 kube-proxy 容器配置是否正确。确保容器启动命令、环境变量和配置文件等都正确设置。 3. 检查资源限制:检查 kube-proxy Pod 的资源限制是否过高,可能导致 Pod启动时无法满足资源需求而崩溃。可以尝试调整资源限制或增加集群的资源配额。 4. 检查依赖组件:检查 kube-proxy 所依赖的其他组件(如 kubelet、etcd 等)是否正常运行。如果依赖组件出现故障或配置错误,可能会导致 kube-proxy Pod 无法正常启动。 5. 检查网络配置:检查集群的网络配置是否正确,包括网络插件、网络策略等。错误的网络配置可能导致 kube-proxy Pod 无法正常工作。 6. 重启 kube-proxy Pod:如果以上步骤都没有解决问题,可以尝试删除并重新创建 kube-proxy Pod。执行以下命令删除 kube-proxy Pod: ``` kubectl delete pod <kube-proxy-pod-name> -n <namespace> ``` 以上是解决 kube-proxy Pod 处于 CrashLoopBackOff 状态的一般步骤,具体的解决方法可能因实际情况而异。如果问题仍然存在,建议查看更详细的日志信息或向 Kubernetes 社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值