Kubernetes 无法运行kubeadm init

Kubernetes 无法运行kubeadm init,kubernetes,kubeadm,Kubernetes,Kubeadm,关于。如何成功配置和启动最新的kubeadm kubeadm_new.config是通过配置迁移生成的: kubeadm config migrate——旧配置kubeadm_default.config——新配置kubeadm_new.config。kubeadm_new.config的内容: apiEndpoint: advertiseAddress: 1.2.3.4 bindPort: 6443 apiVersion: kubeadm.k8s.io/v1alpha3 bootstr

关于。如何成功配置和启动最新的kubeadm

kubeadm_new.config是通过配置迁移生成的:
kubeadm config migrate——旧配置kubeadm_default.config——新配置kubeadm_new.config
。kubeadm_new.config的内容:

apiEndpoint:
  advertiseAddress: 1.2.3.4
  bindPort: 6443
apiVersion: kubeadm.k8s.io/v1alpha3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  name: khteh-t580
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
---
apiVersion: kubeadm.k8s.io/v1alpha3
auditPolicy:
  logDir: /var/log/kubernetes/audit
  logMaxAge: 2
  path: ""
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: ""
etcd:
  local:
    dataDir: /var/lib/etcd
    image: ""
imageRepository: k8s.gcr.io
kind: ClusterConfiguration
kubernetesVersion: v1.12.2
networking:
  dnsDomain: cluster.local
  podSubnet: ""
  serviceSubnet: 10.96.0.0/12
unifiedControlPlaneImage: ""
我在kubeadm_new.config中更改了“kubernetesVersion:v1.12.2”,它似乎进展得更快,现在出现以下错误:

无法运行Kubelet:不支持在交换打开的情况下运行,请禁用交换!或将--swap-on失败标志设置为false。


如何将fail swap on设置为FALSE以使其运行?

Kubeadm附带一个命令,用于打印默认配置,因此您可以使用以下命令检查每个指定的默认值:
kubeadm配置打印默认值

在您的情况下,如果要在kubelet中禁用交换检查,必须将以下行添加到当前的kubeadm配置中:

---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
failSwapOn: false

Kubeadm附带一个命令,用于打印默认配置,因此您可以使用以下命令检查每个指定的默认值:
kubeadm配置打印默认值

在您的情况下,如果要在kubelet中禁用交换检查,必须将以下行添加到当前的kubeadm配置中:

---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
failSwapOn: false

您还没有提到为什么选择禁用交换

我不认为它是第一个选项——不是因为内存交换是一个坏的实践(它是一个有用的和基本的内核机制),而是因为Kubelet似乎没有被设计成在启用Switter的时候正常工作。 K8S对这一主题非常清楚,如您所见:

交换已禁用。必须禁用交换才能使kubelet工作 对

我建议阅读K8S提供的有关POD内存优先级的功能:

1)-确保您的高优先级工作负载使用
保证
(或至少
Burstable
)类运行


2)。

您没有提到为什么选择禁用交换

我不认为它是第一个选项——不是因为内存交换是一个坏的实践(它是一个有用的和基本的内核机制),而是因为Kubelet似乎没有被设计成在启用Switter的时候正常工作。 K8S对这一主题非常清楚,如您所见:

交换已禁用。必须禁用交换才能使kubelet工作 对

我建议阅读K8S提供的有关POD内存优先级的功能:

1)-确保您的高优先级工作负载使用
保证
(或至少
Burstable
)类运行


2.

kubeadm_new.config中有什么?kubeadm_new.config中有什么?