标签: kubeadm

无法运行 Kubelet:验证服务连接:端点未实现 CRI v1 运行时 API

我已经kubelet 1.26.0使用命令安装在 Ubuntu 22.04 上apt install kubelet,但是当我尝试时journalctl -xeu kubelet得到以下结果:

\n
\xe2\x96\x91\xe2\x96\x91 \n\xe2\x96\x91\xe2\x96\x91 The unit kubelet.service has entered the 'failed' state with result 'exit-code'.\nDec 14 15:41:16 a systemd[1]: kubelet.service: Scheduled restart job, restart counter is at 86.\n\xe2\x96\x91\xe2\x96\x91 Subject: Automatic restarting of a unit has been scheduled\n\xe2\x96\x91\xe2\x96\x91 Defined-By: systemd\n\xe2\x96\x91\xe2\x96\x91 Support: http://www.ubuntu.com/support\n\xe2\x96\x91\xe2\x96\x91 \n\xe2\x96\x91\xe2\x96\x91 Automatic restarting of the unit kubelet.service has been scheduled, as the result for\n\xe2\x96\x91\xe2\x96\x91 the configured Restart= setting for the unit.\nDec 14 15:41:16 a systemd[1]: …
Run Code Online (Sandbox Code Playgroud)

configuration systemd systemctl kubernetes kubeadm

19
推荐指数
2
解决办法
4万
查看次数

如何检查 Kubernetes 节点的最大 pod 容量

我正忙于设置新的 k8s 集群。

我正在使用 rke 和 --max-pods: 200

kubelet: # https://rancher.com/docs/rke/latest/en/config-options/services/services-extras/#extra-args
    extra_args: 
    - max-pods: 200  # https://forums.rancher.com/t/solved-setting-max-pods/11866/5
Run Code Online (Sandbox Code Playgroud)

如何检查是否使用正确的设置创建了正在运行的节点。

kubernetes kubeadm

5
推荐指数
3
解决办法
7009
查看次数

带容器的 Kubeadm 1.24。Kubeadm 初始化失败 (centos 7)

我尝试在centos 7上安装单节点集群,使用kubadm 1.24和containerd,\ni遵循安装步骤,

\n

我做了:\ncontainerd config default > /etc/containerd/config.toml\n并通过了:SystemdCgroup = true

\n

但 kubeadm init 失败于:

\n
[root@master-node .kube]# kubeadm init\n[init] Using Kubernetes version: v1.24.0\n[preflight] Running pre-flight checks\n        [WARNING HTTPProxy]: Connection to "https://10.XXXXXXXX" uses proxy "http://proxy-XXXXXXXXX.com:8080/". If that is not intended, adjust your proxy settings\n        [WARNING HTTPProxyCIDR]: connection to "10.96.XXXXXXXX" uses proxy "http://proxy-XXXXXXXXX.com:8080/". This may lead to malfunctional cluster setup. Make sure that Pod and Services IP ranges specified correctly as exceptions in proxy configuration\n[preflight] Pulling images required for setting …
Run Code Online (Sandbox Code Playgroud)

centos7 kubernetes kubeadm containerd

5
推荐指数
1
解决办法
1万
查看次数

kubernetes coredns 处于 CrashLoopBackOff 状态,并出现“未找到名称服务器”错误

我曾尝试在我的裸机服务器上使用 kubeadm 构建 kubernetes,并将 containerd 作为 cri,但安装 cni (weave-net) 后似乎 coredns 无法启动。

两个 coredns 容器现在处于“CrashLoopBackOff”状态,它们的日志为:

plugin/forward: no nameservers found
Run Code Online (Sandbox Code Playgroud)

而“kubectl描述pod”的描述如下:

Events:
  Type     Reason            Age                    From               Message
  ----     ------            ----                   ----               -------
  Warning  FailedScheduling  4m52s (x9 over 13m)    default-scheduler  0/1 nodes are available: 1 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate.
  Normal   Scheduled         4m7s                   default-scheduler  Successfully assigned kube-system/coredns-58cf647449-8pq7k to k8s
  Normal   Pulled            3m13s (x4 over 4m6s)   kubelet            Container image "localhost:5000/coredns:v1.8.4" already present on machine
  Normal   Created           3m13s (x4 …
Run Code Online (Sandbox Code Playgroud)

domain-name-system kubernetes kubeadm

4
推荐指数
1
解决办法
6633
查看次数

Kubernetes:Pod IP 地址超出 --pod-network-cidr 中指定的范围

升级到 v1.24.0 后(删除 Dockershim 后),我必须安装cri-dockerd,然后我执行了以下操作:

\n
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --cri-socket=unix:///var/run/cri-dockerd.sock --apiserver-advertise-address=192.168.0.196\n
Run Code Online (Sandbox Code Playgroud)\n

我选择flannel作为网络插件:

\n
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml\n
Run Code Online (Sandbox Code Playgroud)\n

到目前为止,一切都按预期进行,但在主节点上启用调度、加入工作节点并部署我的 Pod 和服务后,我注意到一个奇怪的网络问题,即NodePortClusterIP服务在节点之间无法工作(使用一个节点时没有问题) 。

\n

后来我发现 pod 是从docker 网络( 172.17.0.*) 获取 IP 地址,而不是从--pod-network-cidr=10.244.0.0/16:

\n
masterzulu@master-zulu:~$ kubectl get pods --all-namespaces -o wide\nNAMESPACE      NAME                                  READY   STATUS    RESTARTS   AGE     IP              NODE          \n\ndjango-space   django-588cb669d4-46b4w               1/1     Running   0          3m35s   172.17.0.4      master-zulu\ndjango-space   postgres-deployment-b58d5ff94-hs7t4   1/1     Running   0          3m35s   172.17.0.5      master-zulu\nkube-system    coredns-6d4b75cb6d-8gw6c              1/1     Running   0 …
Run Code Online (Sandbox Code Playgroud)

networking kubernetes kubeadm kubectl

4
推荐指数
1
解决办法
2785
查看次数

所有 kube-system pod 不断崩溃,etcd 收到 sigterm

我正在尝试设置一个本地 Kubernetes 集群。首先,我使用 kubeadm 在一个节点上初始化我的控制平面。但所有 kube 系统 pod 都会不断崩溃。我通过 crictl 深入研究了 pod 日志,结果发现大多数 pod 崩溃是因为它们无法到达 上的 kube-apiserver <node IP>:6443。并且 kube-apiserver 似乎崩溃了,因为它无法到达 上的 etcd 127.0.0.1: 2379。etcd 会“崩溃”,因为几分钟后它会在没有任何明显原因的情况下收到 sigterm。在 etcd 容器进程上使用 strace 可以得到:

--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=0, si_uid=0} ---
Run Code Online (Sandbox Code Playgroud)

我尝试过 flanneld、calico 和 weave net 作为 CNI,但没有成功。交换从一开始就被禁用了。防火墙没有任何自定义规则。作为一名 kubernetes 新手,我想不出其他可能的失败原因,如果有任何提示,我将不胜感激。

系统信息:

kubernetes etcd kubeadm containerd

4
推荐指数
1
解决办法
1879
查看次数

更新 HA k8s 集群的 apiserver 证书

我有由 kubeadm 创建的 HA k8s 集群。我想更新 API 服务器证书以添加其他 SAN。为此,我遵循了另一篇文章中描述的一些步骤,但我对 HA 集群做了什么:

  • 删除了所有控制平面节点上的API 服务器证书

  • 检索当前的 kubeadm 配置映射

kubectl get configmap kubeadm-config \
  --namespace kube-system \
  --output jsonpath={{ .data.ClusterConfiguration }}
Run Code Online (Sandbox Code Playgroud)
  • 用必要的配置部分扩展它
apiServer:
  certSANs:
    - localhost
    - 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
  • 在所有控制平面节点上生成具有更新配置的新证书

kubeadm init phase certs apiserver --config <config_path>

  • 在所有控制平面节点上重新启动 API 服务器容器

  • 更新了集群内配置

kubeadm init phase upload-config kubeadm --config <config_path>

问题是这些步骤是否正确,或者还有其他更简单的方法吗?

kubernetes kubeadm

2
推荐指数
1
解决办法
3458
查看次数

是否可以更改 CIDR 网络法兰绒和 Kubernetes

是否可以在运行 Kubernetes 集群时更改 CIDR 网络法兰绒?如果是,启动的 Pod 会发生什么?

谢谢

networking cidr kubernetes kubeadm

1
推荐指数
1
解决办法
6548
查看次数