介绍
Kubernetes 是一个容器编排平台,能够自动化容器化应用的部署、扩展和管理。在本实验中,你将探索如何使用 cluster-info
命令来深入了解你的 Kubernetes 集群。通过本实验,你将掌握如何启动 Kubernetes 集群、获取关键的集群信息、检查内部组件以及测试 API 服务器的连接性。
本实验专为初学者设计,无需具备 Kubernetes 的先前经验。
Kubernetes 是一个容器编排平台,能够自动化容器化应用的部署、扩展和管理。在本实验中,你将探索如何使用 cluster-info
命令来深入了解你的 Kubernetes 集群。通过本实验,你将掌握如何启动 Kubernetes 集群、获取关键的集群信息、检查内部组件以及测试 API 服务器的连接性。
本实验专为初学者设计,无需具备 Kubernetes 的先前经验。
Kubernetes 集群需要一个运行环境。在本实验中,我们将使用 Minikube,这是一个允许你在本地运行 Kubernetes 集群的工具。请按照以下步骤操作:
打开终端并确保你位于 /home/labex/project
目录下:
cd ~/project
启动 Minikube 集群:
minikube start
Minikube 启动后,使用 kubectl cluster-info
命令查看集群信息。运行以下命令:
kubectl cluster-info
示例输出:
Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
https://192.168.49.2:8443
是 Kubernetes API server 的 URL。所有 kubectl
命令都会发送到此地址。为了更深入地了解集群及其内部组件,请使用以下命令:
kubectl cluster-info dump
该命令提供关键组件的详细信息:
示例输出:
该命令会生成详细的输出,描述 Kubernetes 系统组件的配置和状态。你可以将输出重定向到文件中以便更轻松地分析:
kubectl cluster-info dump > cluster-details.txt
这将把输出保存到当前目录下的 cluster-details.txt
文件中。
节点是 Kubernetes 中运行工作负载的机器。要列出集群中的节点,请运行以下命令:
kubectl get nodes
minikube
)用于标识机器。Ready
)表示节点健康且可以运行工作负载。示例输出:
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m v1.20.0
API 服务器是 Kubernetes 控制平面的关键组件。你可以通过运行以下命令测试其可访问性:
curl $(kubectl config view --minify -o jsonpath='{.clusters[0].cluster.server}') --insecure
--insecure
标志绕过 SSL 证书验证,在此本地设置中是可以接受的。示例输出:
如果 API 服务器可访问,响应应如下所示:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
"reason": "Forbidden",
"details": {},
"code": 403
}
此响应确认 API 服务器正在运行,但由于缺少身份验证而拒绝访问,这是预期的结果。
在本实验中,你学习了如何:
kubectl cluster-info
获取集群详细信息。kubectl cluster-info dump
深入检查集群组件。kubectl get nodes
列出集群中的节点。curl
命令测试 API 服务器的连接性。这些动手实践为你理解和探索 Kubernetes 集群奠定了基础。这些命令对于调试和管理 Kubernetes 环境至关重要。
下一步:
继续练习,祝你学习愉快!