gpt4 book ai didi

kubernetes - 使用 kops 启用 Kubernetes PodPresets

转载 作者:行者123 更新时间:2023-12-03 12:20:56 24 4
gpt4 key购买 nike

我有一个 kubernetes 集群,它使用 1.5 的 kops 进行设置,然后升级到 1.6.2。我正在尝试使用 PodPresets。文档说明了以下要求:

  1. You have enabled the api type settings.k8s.io/v1alpha1/podpreset
  2. You have enabled the admission controller PodPreset
  3. You have defined your pod presets


我看到对于 1.6.x,第一个被处理(我如何验证?)。我如何申请第二个?我可以看到集群中运行了三个 kube-apiserver-* pod(我想它是用于 3 个 azs 的)。我想我可以从 kubernetes 仪表板编辑他们的 yaml 配置并将 PodPreset 添加到准入控制字符串。但是有没有更好的方法来实现这一目标?

最佳答案

您可以使用 api-versions 列出集群中当前启用的 API 组。 kubectl 命令,或通过向 /apis 发送 GET 请求您的 kube-apiserver 的端点:

$ curl localhost:8080/apis
{
"paths": [
"/api",
"/api/v1",
"...",
"/apis/settings.k8s.io",
"/apis/settings.k8s.io/v1alpha1",
"...",
}

Note: The settings.k8s.io/v1alpha1 API is enabled by default on Kubernetes v1.6 and v1.7 but will be disabled by default in v1.8.



您可以使用 kops ClusterSpec在集群配置期间自定义 Kubernetes 组件的配置,包括 API 服务器。

这在文档页面 Using A Manifest to Manage kops Clusters 中有所描述。 ,以及 KubeAPIServerConfig 类型的完整规范可用 in the kops GoDoc .

例子:

apiVersion: kops/v1
kind: Cluster
metadata:
name: k8s.example.com
spec:
kubeAPIServer:
AdmissionControl:
- NamespaceLifecycle
- LimitRanger
- PodPreset

要更新现有集群,请执行以下步骤:
  • 获取完整的集群配置

    kops get cluster name --full
  • 从中复制 kubeAPIServer 规范块。
  • 不要推回完整配置 .相反,使用以下命令编辑集群配置

    kops edit cluster name
  • 粘贴 kubeAPIServer 规范块,添加缺失的位,然后保存。
  • 更新集群资源

    kops update cluster nane
  • 执行滚动更新以应用更改:

    kops rolling-update name
  • 关于kubernetes - 使用 kops 启用 Kubernetes PodPresets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44872442/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com