OldCarMan

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

  •  
  •   OldCarMan · Mar 19, 2023 · 1895 views
    This topic created in 1172 days ago, the information mentioned may be changed or developed.

    今天使用 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 实际配置结果:
    • 这是调用 kubeadm init 初始化成功输出(没报错):
    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
    
    • 这是我的 yaml 配置文件:
    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'
      
      ....(省略其他配置)
    
    
    • 这是我运行kubeadm config print init-defaults后 输出的实际配置日志
    [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
    ---
    
    .....(省略其他配置)
    
    
    • 大佬们觉得是什么问题,另外大家平时是怎么部署 k8s 集群的,谢谢大家回复。
    7 replies    2023-03-23 11:06:14 +08:00
    zed1018
        1
    zed1018  
       Mar 19, 2023
    op 有点厉害,手动部署集群么。我是直接用的 k3s
    OldCarMan
        2
    OldCarMan  
    OP
       Mar 19, 2023
    @zed1018 主要是想顺便熟悉一下 k8s 环境,以后遇到问题定位起来可能会快些;另外熟悉一些常用配置,可能也有利于后面快速调优需要;
    哈哈,夹点东西:不过做任何事情都有潜在的价值判断和价值取向,时间等各种资源允许,很多东西当然多多益善,但大部分时候,可能是鱼和熊掌的关系。
    seers
        3
    seers  
       Mar 19, 2023
    /var/run/cri-dockerd.sock
    你看下有没有这个,我记得是轮询,如果没有就找下一个
    OldCarMan
        4
    OldCarMan  
    OP
       Mar 19, 2023
    @seers 存在的,所以我才纳闷,init 过程也没报错。😂
    runzhliu
        5
    runzhliu  
       Mar 21, 2023
    --v 10 打印一下 debug 的日志
    OldCarMan
        6
    OldCarMan  
    OP
       Mar 23, 2023
    @runzhliu 谢谢回复,我的问题,这个指令返回的是,kubeadm config 默认的配置,而不是 manual 配置。
    OldCarMan
        7
    OldCarMan  
    OP
       Mar 23, 2023
    这个指令“kubeadm config print init-defaults”
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3749 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:29 · PVG 18:29 · LAX 03:29 · JFK 06:29
    ♥ Do have faith in what you're doing.