3.3. 主机健康状况
要验证集群是否正在运行,连接到 master 实例,并运行以下命令:
$ oc get nodes NAME STATUS AGE VERSION ocp-infra-node-1clj Ready 1h v1.6.1+5115d708d7 ocp-infra-node-86qr Ready 1h v1.6.1+5115d708d7 ocp-infra-node-g8qw Ready 1h v1.6.1+5115d708d7 ocp-master-94zd Ready 1h v1.6.1+5115d708d7 ocp-master-gjkm Ready 1h v1.6.1+5115d708d7 ocp-master-wc8w Ready 1h v1.6.1+5115d708d7 ocp-node-c5dg Ready 1h v1.6.1+5115d708d7 ocp-node-ghxn Ready 1h v1.6.1+5115d708d7 ocp-node-w135 Ready 1h v1.6.1+5115d708d7
上面的集群示例包含三个 master 主机、三个基础架构节点主机和三个节点主机。它们都在运行。此输出中应当能看到群集中的所有主机。
Ready
状态表示 master 主机可以与节点主机通信,并且节点已准备好运行 pod(不包括调度被禁用的节点)。
在运行 etcd 命令前,source etcd.conf 文件:
# source /etc/etcd/etcd.conf
您可以使用 etcdctl
命令从任何 master 实例检查基本 etcd 健康状况:
# etcdctl --cert-file=$ETCD_PEER_CERT_FILE --key-file=$ETCD_PEER_KEY_FILE \ --ca-file=/etc/etcd/ca.crt --endpoints=$ETCD_LISTEN_CLIENT_URLS cluster-health member 59df5107484b84df is healthy: got healthy result from https://10.156.0.5:2379 member 6df7221a03f65299 is healthy: got healthy result from https://10.156.0.6:2379 member fea6dfedf3eecfa3 is healthy: got healthy result from https://10.156.0.9:2379 cluster is healthy
但是,要获取有关 etcd 主机的更多信息,包括关联的 master 主机:
# etcdctl --cert-file=$ETCD_PEER_CERT_FILE --key-file=$ETCD_PEER_KEY_FILE \ --ca-file=/etc/etcd/ca.crt --endpoints=$ETCD_LISTEN_CLIENT_URLS member list 295750b7103123e0: name=ocp-master-zh8d peerURLs=https://10.156.0.7:2380 clientURLs=https://10.156.0.7:2379 isLeader=true b097a72f2610aea5: name=ocp-master-qcg3 peerURLs=https://10.156.0.11:2380 clientURLs=https://10.156.0.11:2379 isLeader=false fea6dfedf3eecfa3: name=ocp-master-j338 peerURLs=https://10.156.0.9:2380 clientURLs=https://10.156.0.9:2379 isLeader=false
如果 etcd 集群与 master 服务在一起,则所有 etcd 主机都应包含 master 主机,如果 etcd 单独运行,则所有 etcd 实例都应该可以看到。
注意
etcdctl2
是 etcdctl
工具的别名,其中包含以 v2 数据模型查询 etcd 集群的正确标志,以及 v3 数据模型的 etcdctl3
。