用法

在一个 Kubernetes 集群的内部或外部运行虚拟 Kubelet

使用 virtual-kubelet 命令行工具,可以在 Kubernetes 集群的 内部外部 运行 Virtual Kubelet。如果在 Kubernetes 集群中运行 Virtual Kubelet,还可以使用 Helm 部署它。

有关 virtual-kubelet 安装说明,请参阅 设置 指南。

在 Kubernetes 集群外部

要在 Kubernetes 集群外部(而非连接到的 Kubernetes 集群)运行 Virtual Kubelet,使用您选择的 提供者 来运行 virtual-kubelet 二进制文件。以下是一个示例

virtual-kubelet --provider aws

部署 Virtual Kubelet 后,运行 kubectl get nodes,您应该会看到一个 virtual-kubelet 节点(除非您已使用 --nodename 标志将名称指定为其他名称)。

virtual-kubelet

用于运行 Virtual Kubelet 的命令行工具

$ virtual-kubelet flags

标志

标志说明默认值
--cluster-domain stringKubernetes 集群域cluster.local
--disable-taint bool禁用 Virtual Kubelet 节点污染false
--enable-node-lease bool使用节点租约 (1.13) 进行节点心跳false
--full-resync-period duration在 Kubernetes 和提供者之间执行 Pod 完全重新同步的频率1m0s
--kubeconfig stringkubectl 配置文件$HOME/.kube/config
--log-level string日志级别,例如 trace debuginfowarnerrorinfo
--metrics-addr string侦听指标和统计信息的地址:10255
--namespace stringKubernetes 命名空间all
--nodename stringKubernetes 节点名称virtual-kubelet
--os string操作系统(必须是 linuxwindowsLinux
--pod-sync-workers intPod 同步工作进程的数量10
--provider string虚拟 Kubelet 提供程序
--provider-config 字符串虚拟 Kubelet 提供程序配置文件
--startup-timeout 持续时间虚拟 Kubelet 启动前的等待时间
--trace-exporter 字符串使用的跟踪导出器。提供的导出器包括jaegerocagent
--trace-sample-rate 字符串追踪样本的概率
--trace-service-name 字符串在追踪导出器中注册的服务名称virtual-kubelet
--trace-tag 映射包含在追踪中的标签,格式为key=value

在 Kubernetes 集群中

可以在 MinikubeDocker for Desktop Kubernetes 集群的 Kubernetes Pod 中运行虚拟 Kubelet。

目前,仅支持 mock 提供程序此部署的自动化。

为了部署虚拟 Kubelet,您需要安装 Skaffold,这是一个 Kubernetes 开发工具。您还需要确保您当前的 kubectl 上下文minikubedocker-for-desktop(具体取决于您使用的 Kubernetes 平台)。

首先,克隆虚拟 Kubelet 储存库

git clone https://github.com/virtual-kubelet/virtual-kubelet
cd virtual-kubelet

然后

make skaffold

默认情况下,这将在 开发模式 下运行 Skaffold,这将使 Skaffold 监视 hack/skaffold/virtual-kubelet/Dockerfile 及其依赖项中的更改并对更改进行重新部署虚拟 Kubelet。它还将使 Skaffold 从虚拟 Kubelet Pod 流式传输日志。

如果您不关心持续部署和日志流,则可以通过运行以下命令在开发模式之外运行 Skaffold

make skaffold MODE=run

这将构建和部署虚拟 Kubelet 并返回。

Helm

Helm 是一款包管理器,您可以使用它轻松地使用名为 Charts 的配置包在 Kubernetes 上部署复杂系统。

您可以使用 Virtual Kubelet Helm chart 在 Kubernetes 上部署 Virtual Kubelet。

首先,添加 Chart 存储库(Chart 目前托管在 GitHub 上)

helm repo add virtual-kubelet \
  https://raw.githubusercontent.com/virtual-kubelet/virtual-kubelet/master/charts
您可以使用 helm repo list 检查存储库是否在您的当前存储库中列出。

现在您可以使用 helm install 安装 Virtual Kubelet。这里有一个示例命令

helm install virtual-kubelet/virtual-kubelet \
  --name virtual-kubelet-azure \
  --namespace virtual-kubelet \
  --set provider=azure

这将在 virtual-kubelet 命名空间中安装 Azure Container Instances Virtual Kubelet

要检查 Virtual Kubelet 是否已安装,请运行此命令,该命令将列出可用的节点并监视更改

kubectl get nodes \
  --namespace virtual-kubelet \
  --watch


© 2024 The Virtual Kubelet authors

用法