您可以使用kubectl 命令或通过向您的端点api-versions
发送 GET 请求来列出集群中当前启用的 API 组:/apis
kube-apiserver
$ curl localhost:8080/apis
{
"paths": [
"/api",
"/api/v1",
"...",
"/apis/settings.k8s.io",
"/apis/settings.k8s.io/v1alpha1",
"...",
}
注意:该settings.k8s.io/v1alpha1
API 在 Kubernetes v1.6 和 v1.7 上默认启用,但在 v1.8 中将默认禁用。
您可以使用 kops ClusterSpec在集群供应期间自定义 Kubernetes 组件的配置,包括 API 服务器。
这在文档页面Using A Manifest to Manage kops Clusters中有描述,KubeAPIServerConfig 类型的完整规范可在 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