k8s之调动pod到指定节点与创建多容器pod并查找pod日志

在 Kubernetes 中,可以通过以下步骤将 Pod 调度到指定节点、创建多容器 Pod,并查找 Pod 日志。

1. 将 Pod 调度到指定节点

要将 Pod 调度到特定节点,可以使用 nodeSelectornodeAffinity 进行调度。

方法一:使用 nodeSelector

首先,需要确保节点具有指定的标签,然后在 Pod 配置中使用 nodeSelector 进行调度。

给节点添加标签
bash 复制代码
kubectl label nodes <node-name> disktype=ssd
创建使用 nodeSelector 的 Pod 配置

以下是一个使用 nodeSelector 调度到特定节点的 Pod 示例配置文件:

yaml 复制代码
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: nginx
  nodeSelector:
    disktype: ssd
方法二:使用 nodeAffinity

相比 nodeSelectornodeAffinity 提供了更灵活的节点选择机制。

yaml 复制代码
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: disktype
            operator: In
            values:
            - ssd
  containers:
  - name: my-container
    image: nginx

2. 创建多容器 Pod

在 Kubernetes 中,可以在一个 Pod 中定义多个容器,使它们共享网络和存储卷。以下是一个多容器 Pod 配置示例:

yaml 复制代码
apiVersion: v1
kind: Pod
metadata:
  name: multi-container-pod
spec:
  containers:
  - name: container-1
    image: nginx
  - name: container-2
    image: busybox
    command: ["sh", "-c", "while true; do echo Hello from container-2; sleep 5; done"]

在这个例子中,multi-container-pod 中包含了 nginxbusybox 两个容器。

3. 查找 Pod 日志

使用 kubectl logs 命令查看 Pod 日志。对于多容器 Pod,需要指定容器名称。

查看单个容器的日志
bash 复制代码
kubectl logs <pod-name> -c <container-name>

例如,要查看上面示例中 container-2 的日志:

bash 复制代码
kubectl logs multi-container-pod -c container-2
查看所有容器的日志

可以使用 --all-containers 查看多容器 Pod 中所有容器的日志:

bash 复制代码
kubectl logs <pod-name> --all-containers

这些命令可以帮助您将 Pod 调度到指定节点、创建包含多个容器的 Pod,并查找特定容器的日志。

相关推荐
深入技术了解原理几秒前
引入eureka依赖但是无法注册:无法解析配置属性 ‘eureka.client.service-url.defaultZone‘
spring boot·spring cloud·云原生·eureka
Wpa.wk6 分钟前
Docker容器 - 了解Docker基础命令(容器+镜像命令)
运维·经验分享·测试工具·docker·容器
步菲1 小时前
Windows系统安装Docker Desktop配置daemon.json不生效问题解决
windows·docker·容器
cyber_两只龙宝1 小时前
LVS-NAT模式实验配置以及详解
linux·运维·云原生·lvs
optimistic_chen2 小时前
【Docker入门】Docker Registry(镜像仓库)
linux·运维·服务器·docker·容器·镜像仓库·空间隔离
阿里云云原生2 小时前
快速上手:LangChain + AgentRun 浏览器沙箱极简集成指南
阿里云·云原生·langchain·函数计算·agentrun
加油vekiki2 小时前
linux服务器搭建docker、docker-compose
linux·服务器·docker·容器
迎仔3 小时前
CSI (Container Storage Interface) 通俗原理解析:K8s 的“万能存储插头”
云原生·容器·kubernetes
亿牛云爬虫专家3 小时前
采集架构的三次升级:脚本、Docker 与 Kubernetes
爬虫·docker·架构·kubernetes·脚本·代理ip·采集
qq_273900233 小时前
Docker 与 Singularity 镜像实战指南
运维·docker·容器