kubeadm init --config [file.yaml] 后实际配置与 yaml 里的配置不符

2023-03-19 10:19:59 +08:00
 OldCarMan

今天使用 kubeadm reset 后,再使用 kubeadm init 来重新初始化 k8s 时,发现初始化后实际配置跟我 yaml 设定的配置不一样。

具体情况,打个比方:我 yaml 文件里面 criSocket(参考文档)配置的是:

criSocket: unix:///var/run/cri-dockerd.sock

然而实际情况得到的 criSocket 则是:

criSocket: unix:///var/run/containerd/containerd.sock
下面是我 init 初始化日志&yaml 配置&InitConfiguration 实际配置结果:
root@master1 ~/k8s/]# kubeadm init --config=/root/k8s/kubeadm/config.yaml --upload-certs
[init] Using Kubernetes version: v1.26.0
[preflight] Running pre-flight checks
	[WARNING FileExisting-tc]: tc not found in system path
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

...

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
nodeRegistration:
  criSocket: unix:///var/run/cri-dockerd.sock
  kubeletExtraArgs:
    runtime-cgroups: /system.slice/docker.service
    pod-infra-container-image: registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.7

---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
ipvs:
  minSyncPeriod: 8s
  syncPeriod: 8s
  scheduler: 'wrr'
  
  ....(省略其他配置)

[root@master1 k8s]# kubeadm config print init-defaults
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 1.2.3.4
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///var/run/containerd/containerd.sock
  imagePullPolicy: IfNotPresent
  name: node
  taints: null
---

.....(省略其他配置)

1281 次点击
所在节点    Kubernetes
7 条回复
zed1018
2023-03-19 12:00:49 +08:00
op 有点厉害,手动部署集群么。我是直接用的 k3s
OldCarMan
2023-03-19 12:15:22 +08:00
@zed1018 主要是想顺便熟悉一下 k8s 环境,以后遇到问题定位起来可能会快些;另外熟悉一些常用配置,可能也有利于后面快速调优需要;
哈哈,夹点东西:不过做任何事情都有潜在的价值判断和价值取向,时间等各种资源允许,很多东西当然多多益善,但大部分时候,可能是鱼和熊掌的关系。
seers
2023-03-19 16:25:53 +08:00
/var/run/cri-dockerd.sock
你看下有没有这个,我记得是轮询,如果没有就找下一个
OldCarMan
2023-03-19 22:06:55 +08:00
@seers 存在的,所以我才纳闷,init 过程也没报错。😂
runzhliu
2023-03-21 17:19:06 +08:00
--v 10 打印一下 debug 的日志
OldCarMan
2023-03-23 11:05:41 +08:00
@runzhliu 谢谢回复,我的问题,这个指令返回的是,kubeadm config 默认的配置,而不是 manual 配置。
OldCarMan
2023-03-23 11:06:14 +08:00
这个指令“kubeadm config print init-defaults”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/925230

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX