文档
设置
设置
校验节点设置
使用 kubeadm 定制控制平面配置
高可用拓扑选项
使用 kubeadm 创建一个高可用 etcd 集群
使用 Salt 配置 Kubernetes 集群
安装 CRI
PKI 证书和需求
使用 Minikube 在本地运行 Kubernetes
验证节点设置
概念
概念
概念模板示例
任务
任务
管理集群
管理集群
Debug DNS 方案
IP Masquerade Agent 用户指南
Kubernetes 云管理控制器
Safely Drain a Node while Respecting the PodDisruptionBudget (EN)
Set up High-Availability Kubernetes Masters (EN)
Storage Object in Use Protection
为 Kubernetes 运行 etcd 集群
为系统守护进程预留计算资源
为节点发布扩展资源
使用 Calico 来提供 NetworkPolicy
使用 CoreDNS 进行服务发现
使用 KMS 提供商进行数据加密
使用 Kubernetes API 访问集群
使用 Romana 来提供 NetworkPolicy
使用 Weave 网络来提供 NetworkPolicy
关键插件 Pod 的调度保证
命名空间演练
在 Kubernetes 中配置私有 DNS 和上游域名服务器
在 Kubernetes 集群中使用 sysctl
在实时集群上重新配置节点的 Kubelet
声明网络策略
应用资源配额和限额
开发云控制器管理器
控制节点上的 CPU 管理策略
改变默认 StorageClass
更改 PersistentVolume 的回收策略
设置 Pod CPU 和内存限制
访问集群上运行的服务
通过命名空间共享集群
通过配置文件设置 Kubelet 参数
配置 API 对象配额
配置命名空间下pod总数
配置多个调度器
配置资源不足时的处理方式
限制存储消耗
集群 DNS 服务自动伸缩
集群安全
集群管理
静态 Pods
静态加密 Secret 数据
安装网络策略驱动
用插件扩展 kubectl
管理巨页(HugePages)
自动伸缩集群中的 DNS 服务
调度 GPUs
教程
教程
你好 Minikube
Kubernetes 101
Kubernetes 对象管理
使用命令式的方式管理 Kubernetes 对象
Advanced Topics (EN)
Docker 用户使用 kubectl 命令指南
Docs smoke test page (EN)
Foundational (EN)
kube-apiserver
kubectl概述
Kubelet authentication/authorization
Kubernetes API 访问控制
Kubernetes OpenVSwitch GRE/VxLAN 网络
TLS bootstrapping
中级
中级
使用启动引导令牌(Bootstrap Tokens)认证
创建大规模集群
基础知识
多区域运行
搜索结果
构建高可用集群
管理 Service Accounts
节点设置校验

Edit This Page

节点设置校验

节点合规性测试

节点合规性测试 是一个容器化的测试框架,提供了针对节点的系统验证和功能测试。 该测试主要检测节点是否满足 Kubernetes 的最低要求,通过检测的节点有资格加入 Kubernetes 集群。

限制

在 Kubernetes 1.5 版本中,节点合规性测试存在以下限制:

节点的前提条件

为运行节点合规性测试,节点必须满足与标准的 Kubernetes 节点同样的前提条件。最基本地, 节点应安装以下组件:

运行节点合规性测试

执行以下步骤来运行节点合规性测试:

  1. 因为测试框架会启动一个本地的 master 来测试 Kubelet, 所以将 Kubelet 指向本机 `–api-servers=“http://localhost:8080"。 还有一些其他 Kubelet 参数可能需要注意:

    • --pod-cidr: 如果使用 kubenet, 需要为 Kubelet 任意指定一个 CIDR, 例如 --pod-cidr=10.180.0.0/24
    • --cloud-provider: 如果使用 --cloud-provider=gce,需要移除这个参数来运行测试。
  2. 执行以下命令来运行节点合规性测试:

    # $CONFIG_DIR 是 Kubelet 的 manifest 文件路径。
    # $LOG_DIR 是测试结果输出的路径。
    sudo docker run -it --rm --privileged --net=host \
    -v /:/rootfs -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
    k8s.gcr.io/node-test:0.2

针对其他硬件体系结构运行节点合规性测试

Kubernetes 也为其他硬件体系结构的系统提供了节点合规性测试的 Docker 镜像:

Arch Image
amd64 node-test-amd64
arm node-test-arm
arm64 node-test-arm64

运行选定的测试

为运行指定的测试,用正则表达式来描述将要运行的测试,并重载 FOCUS 环境变量。

sudo docker run -it --rm --privileged --net=host \
  -v /:/rootfs:ro -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
  -e FOCUS=MirrorPod \ # 只运行 MirrorPod 测试
  k8s.gcr.io/node-test:0.2

为跳过指定的测试,用正则表达式来描述将要跳过的测试,并重载 SKIP 环境变量。

sudo docker run -it --rm --privileged --net=host \
  -v /:/rootfs:ro -v $CONFIG_DIR:$CONFIG_DIR -v $LOG_DIR:/var/result \
  -e SKIP=MirrorPod \ # 运行除 MirrorPod 外的所有测试
  k8s.gcr.io/node-test:0.2

节点合规性测试是节点端到端测试的一个容器化的版本。 默认情况下, 它会运行所有的合规性测试用例。

理论上,只要合理地配置容器和挂载所需的卷,就可以运行任何的节点端到端测试用例。 但是这里 强烈建议只运行合规性测试,因为运行非合规性测试需要很多复杂的配置。

注意事项

反馈