已关闭此问题为not about programming or software development。它目前不接受回答。
这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
5天前关闭。
Improve this question
背景
我正在尝试通过kubeadm
配置群集。我通常通过以下方式创建(测试)集群:
sudo kubeadm init --pod-network-cidr 10.244.0.0/16
这个参数似乎最终会进入到MyerManager(/etc/kubernetes/manifests/kube-controller-manager.yaml
)的静态pod定义中:
- --cluster-cidr=10.244.0.0/16
sudo vim /etc/kubernetes/manifests/kube-controller-manager.yaml
的大部分:
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
问题一:
如何通过配置文件传递此设置--pod-network-cidr=10.244.0.0/16
,即:kubeadm init --config my_config.yaml
?我找到了一个sample config file template on an unofficial K8S documentation wiki,但是我似乎找不到任何文档将这些命令行参数Map到kubeadm
和它们的kubeadm_config.yaml
等价物。
There's also a document showing how I can create a baseline static pod definition/ yaml
通过kubeadm config print init-defaults > kubeadm_config.yaml
,但同样,没有文档显示如何通过修改和应用此yaml
文件来设置pod-network-cidr
(即kubeadm upgrade -f kubeadm_config.yaml
)。
kubeadm config view
输出示例:
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: {}
问题二:
我怎么能做以上,但传递类似--experimental-cluster-signing-duration=0h30m0s
的东西?我想尝试一下手动/自动更新所有与kubeadm
相关的证书的测试。
2条答案
按热度按时间wooyq4lh1#
**1.**根据官方文件:
可以使用配置文件而不是命令行标志来配置
kubeadm init
,并且一些更高级的功能可能仅作为配置文件选项提供。此文件通过--config
选项传递。默认配置可以使用
kubeadm config print
command打印出来。建议您使用
kubeadm config migrate
command将旧的v1 beta1配置迁移到v1 beta2。在
kubeadm init
过程中,kubeadm会在kube-system命名空间中的一个名为kubeadm-config的ConfigMap中将configurterConfiguration对象上传到集群。然后在kubeadm join
、kubeadm reset
和kubeadm upgrade
期间读取此配置。要查看此ConfigMap,请调用kubeadm config view
。您可以使用
kubeadm config print
打印默认配置,使用kubeadm config migrate
将旧配置文件转换为新版本。kubeadm config images list
和kubeadm config images pull
可以用来列出和拉取kubeadm需要的镜像。子网由kubeadm中的
--pod-network-cidr
参数定义,或者由配置文件定义,例如下面的示例:**2.**我在官方文件或其他来源中找不到任何类似的内容。
相反,您可以使用kube-controller-manager来传递这种配置。
请让我知道这是否有帮助。
km0tfn4u2#
1.使用所需的配置创建集群,然后像这样获取config.yaml:
1.将额外的参数传递给受影响的服务。