Kubernetes K8S:转换;“kubeadm init”;“的命令行参数”--配置";亚马尔 背景
我正试图通过Kubernetes K8S:转换;“kubeadm init”;“的命令行参数”--配置";亚马尔 背景,kubernetes,yaml,x509certificate,kubeadm,kube-apiserver,Kubernetes,Yaml,X509certificate,Kubeadm,Kube Apiserver,我正试图通过kubeadm配置集群。我通常通过以下方式创建(测试)群集: sudo kubeadm init --pod-network-cidr 10.244.0.0/16 此参数似乎最终会进入controllerManager的静态pod定义(/etc/kubernetes/manifests/kube controller manager.yaml): sudo vim/etc/kubernetes/manifests/kube controller manager.yaml的较大部分
kubeadm
配置集群。我通常通过以下方式创建(测试)群集:
sudo kubeadm init --pod-network-cidr 10.244.0.0/16
此参数似乎最终会进入controllerManager的静态pod定义(/etc/kubernetes/manifests/kube controller manager.yaml
):
sudo vim/etc/kubernetes/manifests/kube controller manager.yaml的较大部分
- --cluster-cidr=10.244.0.0/16
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
component: kube-controller-manager
tier: control-plane
name: kube-controller-manager
namespace: kube-system
spec:
containers:
- command:
- kube-controller-manager
- --allocate-node-cidrs=true
- --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
- ...
- --cluster-cidr=10.244.0.0/16
问题1: 我如何通过配置文件传递此设置,
--pod网络cidr=10.244.0.0/16
,即kubeadm init--config my_config.yaml
?我找到了一个,但似乎根本找不到任何文档将这些命令行参数映射到kubeadm
到它们的kubeadm\u config.yaml
等价物
通过kubeadm config print init defaults>kubeadm_config.yaml
,但同样没有说明如何通过修改和应用此yaml
文件(即kubeadm升级-f kubeadm_config.yaml
)来设置pod网络cidr
kubeadm配置视图的示例输出:
apiServer:
extraArgs:
authorization-mode: Node,RBAC
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta2
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: k8s.gcr.io
kind: ClusterConfiguration
kubernetesVersion: v1.15.4
networking:
dnsDomain: cluster.local
podSubnet: 10.244.0.0/16
serviceSubnet: 10.96.0.0/12
scheduler: {}
问题2: 我如何做上述操作,但要通过类似于
——实验集群签名持续时间=0h30m0s
?我想尝试手动/自动更新所有kubeadm
相关证书的测试
1.根据: 可以使用配置文件配置
kubeadm init
而不是命令行标志,可能会出现一些更高级的功能
只能作为配置文件选项使用。此文件已传递
使用--config
选项
可以使用kubeadm config print
打印默认配置
建议您使用kubeadm config migrate
将旧的v1beta1配置迁移到v1beta2
在kubeadm init
期间,kubeadm上载ClusterConfiguration对象
在中名为kubeadm config的配置映射中连接到集群
kube系统名称空间。然后在kubeadm期间读取此配置
加入
,kubeadm重置
和kubeadm升级
。要查看此配置映射
调用kubeadm配置视图
您可以使用kubeadm config print
打印默认配置
和kubeadm config migrate
转换旧的配置文件
更新版本kubeadm-config-images-list
和kubeadm-config-images-pull
可用于列出和提取kubeadm所需的图像
需要
子网由kubeadm中的--pod network cidr
参数或配置文件定义,如以下示例所示:
apiVersion: kubeadm.k8s.io/v1alpha3
kind: InitConfiguration
api:
advertiseAddress: 0.0.0.0
bindPort: 6443
kubernetesVersion: v1.12.1
---
apiVersion: kubeadm.k8s.io/v1alpha3
kind: ClusterConfiguration
networking:
podSubnet: 192.168.0.0/24
2.我在官方文件或其他来源中都找不到类似的内容
相反,您可以使用来传递这种配置
如果有帮助,请告诉我。谢谢。