我初始化了主节点并添加了2个工作节点,但是当我运行以下命令时,只显示主节点和一个工作节点:
kubectl get nodes
Run Code Online (Sandbox Code Playgroud)
此外,这两个节点都处于"未就绪"状态.我应该采取哪些步骤来了解问题所在?
我使用以下repo来安装Kubernetes:
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes] name=Kubernetes
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
EOF
yum install kubelet kubeadm kubectl kubernetes-cni
Run Code Online (Sandbox Code Playgroud)Sha*_*idh 54
首先,描述节点并查看它是否报告任何内容:
$ kubectl describe nodes
寻找条件,容量和可分配:
Conditions:
Type Status
---- ------
OutOfDisk False
MemoryPressure False
DiskPressure False
Ready True
Capacity:
cpu: 2
memory: 2052588Ki
pods: 110
Allocatable:
cpu: 2
memory: 1950188Ki
pods: 110
Run Code Online (Sandbox Code Playgroud)
如果此处一切正常,请通过SSH进入节点并观察kubelet日志以查看是否报告任何内容.像证书错误,身份验证错误等.
如果kubelet作为systemd服务运行,则可以使用
$ journalctl -u kubelet
Dee*_*pak 12
调试步骤:-
如果您在 kubernetes 中遇到任何问题,第一步是检查 kubernetes 自身应用程序是否运行良好。
检查命令:- kubectl get pods -n kube-system
如果您看到任何 Pod 崩溃,请检查其日志
如果出现NotReady状态错误,请验证网络 pod 日志。
如果无法解决上述问题,请按照以下步骤操作:-
kubectl get nodes # 检查哪个节点未处于就绪状态
kubectl describe node nodename #nodename 未处于就绪状态
ssh 到那个节点
execute systemctl status kubelet # 确保 kubelet 正在运行
systemctl status docker # 确保docker服务正在运行
journalctl -u kubelet # 深入检查日志
您很可能会在这里了解错误,修复它后使用以下命令重置 kubelet:-
systemctl daemon-reloadsystemctl restart kubelet如果您仍然没有找到根本原因,请检查以下内容:-
确保您的节点有足够的空间和内存。/var特别检查目录空间。检查命令:-df -kh,free -m
使用 top 命令验证 CPU 利用率。并确保任何进程都没有占用意外的内存。
| 归档时间: |
|
| 查看次数: |
53803 次 |
| 最近记录: |