如何在特定节点 Kubernetes 上更改 PODcidr

     2023-03-17     214

关键词:

【中文标题】如何在特定节点 Kubernetes 上更改 PODcidr【英文标题】:how to change PODcidr on specifiec nodes Kubernetes 【发布时间】:2020-04-26 23:48:32 【问题描述】:

我已经在裸机中设置了一个带有 kubeadm 的 kubernete 集群。

集群运行良好。

接下来我连接了一些工作节点。

但由于某种原因,分配了 Pod 的其他 IP 地址。

现在,当您部署服务时,如果它安装在这些新节点之一上,则会出现错误。

错误 - “NetworkPlugin cni 无法设置 pod”

我不想做 init (kubeadm init --pod-network-cidr= ),原因很明显,我害怕破坏一切

我使用 Calico 作为 CNI 插件

/var/lib/kubelet/config.yaml:

address: 0.0.0.0
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
anonymous:
enabled: false
webhook:
cacheTTL: 2m0s
enabled: true
x509:
clientCAFile: /etc/kubernetes/ssl/ca.crt
authorization:
mode: Webhook
webhook:
cacheAuthorizedTTL: 5m0s
cacheUnauthorizedTTL: 30s
cgroupDriver: cgroupfs
cgroupsPerQOS: true
clusterDNS:
- 10.233.0.10
clusterDomain: cluster.local
configMapAndSecretChangeDetectionStrategy: Watch
containerLogMaxFiles: 5
containerLogMaxSize: 10Mi
contentType: application/vnd.kubernetes.protobuf
cpuCFSQuota: true
cpuCFSQuotaPeriod: 100ms
cpuManagerPolicy: none
cpuManagerReconcilePeriod: 10s
enableControllerAttachDetach: true
enableDebuggingHandlers: true
enforceNodeAllocatable:- pods
eventBurst: 10
eventRecordQPS: 5
evictionHard:
imagefs.available: 15%
memory.available: 100Mi
nodefs.available: 10%
nodefs.inodesFree: 5%
evictionPressureTransitionPeriod: 5m0s
failSwapOn: true
fileCheckFrequency: 20s
hairpinMode: promiscuous-bridge
healthzBindAddress: 127.0.0.1
healthzPort: 10248
httpCheckFrequency: 20s
imageGCHighThresholdPercent: 85
imageGCLowThresholdPercent: 80
imageMinimumGCAge: 2m0s
iptablesDropBit: 15
iptablesMasqueradeBit: 14
kind: KubeletConfiguration
kubeAPIBurst: 10
kubeAPIQPS: 5
makeIPTablesUtilChains: true
maxOpenFiles: 1000000
maxPods: 110
nodeLeaseDurationSeconds: 40
nodeStatusReportFrequency: 1m0s
nodeStatusUpdateFrequency: 10s
oomScoreAdj: -999
podPidsLimit: -1
port: 10250
registryBurst: 10
registryPullQPS: 5
resolvConf: /etc/resolv.conf
rotateCertificates: true
runtimeRequestTimeout: 2m0s
serializeImagePulls: true
staticPodPath: /etc/kubernetes/manifests
streamingConnectionIdleTimeout: 4h0m0s
syncFrequency: 1m0s
volumeStatsAggPeriod: 1m0s

``

【问题讨论】:

在问题中添加您正在使用的 CNI 插件的详细信息。 在这个部署中我使用的是印花布 尽可能发布您的服务、部署和 kubelet YAML 的 YAML,以便我们可以更好地帮助您。 【参考方案1】:

在不执行 kubeadm init 的情况下,您可以通过 /var/lib/kubelet/config.yaml 中 kubelet 配置文件中的 --pod-cidr 参数更改特定节点的 pod cidr。然后就可以通过 systemctl restart kubelet.service 重启 kubelet。

官方文档here

【讨论】:

在新旧节点上,同一个文件/var/lib/kubelet/config.yaml

如何更改 Kubernetes 节点的内部 IP?

】如何更改Kubernetes节点的内部IP?【英文标题】:HowcanIchangetheInternalIPofmyKubernetesnode?【发布时间】:2021-06-0716:03:11【问题描述】:我的kubelet有一个指向eth0的内部IP。如何将其更改为eth1?我已经尝试在/etc/systemd/system/kubelet.service.d... 查看详情

Kubernetes 状态集缩减

】Kubernetes状态集缩减【英文标题】:KubernetesStatefulsetDownscaling【发布时间】:2020-07-0909:02:24【问题描述】:目前我在Kubernetes上运行一个solr集群作为statefulset。我的solr集群中有39个Pod在其中运行。我在单个物理节点上运行单个pod... 查看详情

更改 Kubernetes 工作节点的内存分配

】更改Kubernetes工作节点的内存分配【英文标题】:changingmemoryallocationofakubernetesworkernode【发布时间】:2021-06-1709:25:03【问题描述】:我的设置我有一个物理节点K8s集群,我在其中污染了主节点,因此它也可以充当工作人员。该节... 查看详情

如何正确更改 kubernetes worker 节点 ip 地址?

】如何正确更改kubernetesworker节点ip地址?【英文标题】:Howtochangethekubernetesworkernodeipaddresscorrectly?【发布时间】:2021-09-2207:46:47【问题描述】:我试过直接修改worker节点的网卡ip。好像master节点自动更新了worker节点的ip信息。并且... 查看详情

如何通过 calico CNI 在 kubernetes 中找出每个节点分配了哪些 podcidr

】如何通过calicoCNI在kubernetes中找出每个节点分配了哪些podcidr【英文标题】:HowtofindoutwhatpodcidrisassignedtoeachnodebycalicoCNIinkubernetes【发布时间】:2021-03-2520:17:20【问题描述】:在使用calicoCNI时,有没有直接的命令来获取分配给每个... 查看详情

如何更改 Kubernetes 工作节点的内部 IP?

】如何更改Kubernetes工作节点的内部IP?【英文标题】:HowtochangetheinternalIPofKubernetesworkernodes?【发布时间】:2019-07-2308:38:17【问题描述】:我正在尝试使用KelseyHightower的LearnKubernetestheHardWay指南从头开始部署K8s集群。就我而言,我... 查看详情

kubernetes——浅聊affinity,就这么点东西

浅聊Affinity,就这么点东西在Kubernetes中,Affinity是指用于控制Pod调度的策略,包括亲和性(Affinity)和反亲和性(Anti-Affinity)2种。亲和性(Affinity)包括NodeAffinity和PodAffinity2种。 亲和性(Affinity)表示Pod需要部署在哪些节点... 查看详情

如何让 Kubernetes Ingress Port 80 在裸机单节点集群上工作

】如何让KubernetesIngressPort80在裸机单节点集群上工作【英文标题】:HowtogetKubernetesIngressPort80workingonbaremetalsinglenodecluster【发布时间】:2018-12-2318:04:04【问题描述】:我有一个使用kubeadm创建的裸机kubernetes(v1.11.0)集群,并且工作正... 查看详情

如何确保在 EKS 上安排 Pod 之前对每个 Kubernetes 节点进行注释?

】如何确保在EKS上安排Pod之前对每个Kubernetes节点进行注释?【英文标题】:HowcanIensureIannotateeachKubernetesnodebeforePodsarescheduledtoitonEKS?【发布时间】:2019-08-1804:16:26【问题描述】:我正在尝试使用CNICustomNetworkingonEKS来确保PodIP是从备... 查看详情

Kubernetes API 服务器如何在节点上启动一个新调度的 Pod?

】KubernetesAPI服务器如何在节点上启动一个新调度的Pod?【英文标题】:HowdoestheKubernetesAPIserverstartanewlyscheduledpodonanode?【发布时间】:2021-01-2309:32:20【问题描述】:关于kubelet和kube-apiserver之间的交互,我试图更好地了解KubernetesPod... 查看详情

如何使用 Terraform 正确更改 Google Kubernetes Engine 节点池?

】如何使用Terraform正确更改GoogleKubernetesEngine节点池?【英文标题】:HowtoProperlyChangeaGoogleKubernetesEngineNodePoolUsingTerraform?【发布时间】:2021-10-2910:56:23【问题描述】:我已在GoogleCloudPlatform(GCP)项目($GCP_PROJECT_NAME)中成功创建了GoogleKu... 查看详情

如何在特定节点上运行 Spark 作业

】如何在特定节点上运行Spark作业【英文标题】:howtorunSparkjobonspecificnodes【发布时间】:2016-05-2914:33:08【问题描述】:例如,我的Spark集群有100个节点(工作者),当我运行一项作业时,我只想让它在大约10个特定节点上运行,... 查看详情

无主节点的 Kubernetes 节点

】无主节点的Kubernetes节点【英文标题】:Kubernetesnodewithoutmaster【发布时间】:2020-09-2714:08:39【问题描述】:集群由一个主节点和一个工作节点组成。如果master关闭并且worker重新启动,则不会在启动时启动任何工作负载(部署)... 查看详情

Kubernetes 在所有集群中更改 kubelet 配置

】Kubernetes在所有集群中更改kubelet配置【英文标题】:Kuberneteschangekubeletconfigatallcluster【发布时间】:2018-10-2215:52:04【问题描述】:我需要在Kubelet中添加参数--authentication-token-webhook。我可以用手一步一步地在所有节点上更改文件/... 查看详情

找出 Kubernetes 节点的磁盘空间

】找出Kubernetes节点的磁盘空间【英文标题】:FindingoutdiskspaceofKubernetesnode【发布时间】:2019-06-0613:24:20【问题描述】:这是一个Kubernetes新手问题。我已经搜索过这个,但似乎无法找到确切的答案。但这可能归结为对Kubernetes没有... 查看详情

如何配置prometheus kubernetes_sd_configs 指定特定主机端口?

】如何配置prometheuskubernetes_sd_configs指定特定主机端口?【英文标题】:Howtoconfigureprometheuskubernetes_sd_configstospecifyaspecifichostport?【发布时间】:2020-08-1912:48:09【问题描述】:我在GKE上的另一个端口(11100)上运行节点导出器,并将prom... 查看详情

如何在 Jenkins 上更改节点版本?

】如何在Jenkins上更改节点版本?【英文标题】:HowtochangenodeversiononJenkins?【发布时间】:2019-01-1515:37:47【问题描述】:我在jenkins上有几份工作,用于启动量角器测试。我开始在某些时候使用async/await,并且似乎具有Jenkins的默认... 查看详情

如何在特定的 NUMA 内存节点上实例化 C++ 对象?

】如何在特定的NUMA内存节点上实例化C++对象?【英文标题】:HowtoinstantiateC++objectsonspecificNUMAmemorynodes?【发布时间】:2014-04-1720:20:16【问题描述】:简单的C代码可以使用libnuma库在NUMA系统中的特定内存节点中分配内存。例如,可... 查看详情