二进制部署k8s集群-过程中的问题总结(接上篇的部署)

1、kube-apiserver部署过程中的问题

kube-apiserver.conf配置文件更改

2、calico的下载地址

curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -O

这里如果kubernetes的节点服务器为多网卡配置会产生报错

修改calino.yaml配置文件

解决方法:

调整calicao
网络插件的网卡发现机制,修改IP_AUTODETECTION_METHOD对应的value值。官方提供的yaml文件中,ip识别策略(IPDETECTMETHOD)没有配置,即默认为first-found,这会导致一个网络异常的ip作为nodeIP被注册,从而影响node-to-node
mesh。我们可以修改成can-reach或者interface的策略,尝试连接某一个Ready的node的IP,以此选择出正确的IP。

3、coredns

root@k8s-master cfg]# kubectl apply -f coredns.yaml

这里发现coredns 启动有问题

然后我们去排查下原因

Kubectl logs -f coredns-7cf597cd5f-b6f9c -n kube-system 查看到错误日志如下

E1110 02:37:36.166118 1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.23.1/tools/cache/reflector.go:167: Failed to watch *v1beta1.EndpointSlice: failed to list *v1beta1.EndpointSlice: endpointslices.discovery.k8s.io is forbidden: User "system:serviceaccount:kube-s

ystem:coredns" cannot list resource "endpointslices" in API group "discovery.k8s.io" at the cluster scopeINFO plugin/ready: Still waiting on: "kubernetes"

这错误是coredns没有权限访问k8s资源,修改权限:

kubectl edit clusterrole system:coredns

最后追加

resources:

  • endpointslices

verbs:

  • list

  • watch

您在 /var/spool/mail/root 中有新邮件

root@k8s-master cfg# kubectl edit clusterrole system:coredns

clusterrole.rbac.authorization.k8s.io/system:coredns edited

root@k8s-master cfg# kubectl apply -f coredns.yaml

serviceaccount/coredns unchanged

clusterrole.rbac.authorization.k8s.io/system:coredns configured

clusterrolebinding.rbac.authorization.k8s.io/system:coredns unchanged

configmap/coredns unchanged

deployment.apps/coredns unchanged

service/kube-dns unchanged

root@k8s-master cfg# kubectl get pod -n kube-system

恢复正常

4、Dashboard

dashboard部署成功后,进入页面没有内容,右上角有报错信息

解决:给kubelet-bootstrap服务账号集群集群管理员的权限

#可以先查看目前的kubelet-bootstrap是什么权限,通过下方命令查看

kubectl get clusterrolebindings

1#如果是已有这个服务账号且不是集群管理员权限,可以先通过下方命令将服务账号删除后重建

kubectl delete clusterrolebindings kubelet-bootstrap

#创建集群管理员权限的服务账号,创建后刷新dashboard

kubectl create clusterrolebinding kubelet-bootstrap --clusterrole=cluster-admin --user=kubelet-bootstrap


相关推荐
codeejun1 小时前
每日一Go-73、云原生成本优化 —— 资源限制 & 指标驱动扩容
开发语言·云原生·golang
darkdragonking3 小时前
OpenEuler 22.03 ,以docker ce 安装 Milvus 及可视化工具
docker·容器·milvus
真上帝的左手5 小时前
11. 容器化 vs 虚拟化-K8s-工作负载实战
云原生·容器·kubernetes
极客先躯7 小时前
高级java每日一道面试题-2026年01月18日-实战篇[Docker]-如何清理仓库中的旧镜像?
java·运维·docker·容器
张忠琳8 小时前
【kubernetes v1.21】(controller-manager part 1)kube-controller-manager 核心架构与启动流程
云原生·架构·kubernetes
qq_452396239 小时前
第十五篇:《Docker 与 Kubernetes 集成:从 Swarm 到 K8s 的迁移》
docker·容器·kubernetes
HackTwoHub9 小时前
K8s综合渗透测试工具,集成信息搜集、权限逃逸、横向移动,一站式搞定全流程渗透测试工作
人工智能·安全·web安全·云原生·容器·kubernetes·系统安全
做个文艺程序员9 小时前
第05篇:K8s CI/CD 全流程:GitOps × ArgoCD × Harbor——Java SaaS 从代码提交到生产部署一键直达
ci/cd·kubernetes·argocd
人工智能培训10 小时前
数字孪生建模常用方式有哪些?
人工智能·深度学习·机器学习·容器·知识图谱
lpfasd12310 小时前
docker中默认网络的作用和注意事项
网络·docker·容器