集群中的管理操作几乎都可以使用kubectl命令完成
kubectl -h
kubectl cluster-info
kubectl get nodes
kubectl get nodes -o wide
kubectl describe node node01
如果是kubeasz安装,所有节点(包括master与node)都已经可以对集 群进行管理
如果是kubeadm安装,在node节点上管理时会报如下错误
[root@node1 ~]# kubectl get nodes
The connection to the server localhost:8080 was refused -did you specify the right host or port?
只要把master上的管理文件/etc/kubernetes/admin.conf拷贝到node 节点的$HOME/.kube/config就可以让node节点也可以实现kubectl命令 管理
1, 在node节点的用户家目录创建.kube目录
[root@node1 ~]# mkdir /root/.kube
2, 在master节点做如下操作
[root@master ~]# scp /etc/kubernetes/admin.conf node1:/root/.kube/config
3, 在node节点验证
[root@node1 ~]# kubectl get nodes
NAME ? ? STATUS ? ROLES ? ?AGE ? ?VERSION master ? Ready ? ?master ? ?2h ? ?v1.15.1 node1 ? ?Ready ? ?node ? ? ?2h ? ?v1.15.1 node2 ? ?Ready ? ?node ? ? ?2h ? ?v1.15.1
k8s集群如果由大量节点组成,可将节点打上对应的标签,然后通过标 签进行筛选,查看。
kubectl get node --show-labels
为节点192.168.0.136 打一个region=haha 的标签
kubectl label node node02 region=haha
kubectl get node --show-labels
kubectl get nodes -L region
也可以加其它的多维度标签,用于不同的需要区分的场景
如把node01标签为华南区, A机房, 测试环境, 游戏业务
kubectl label node node01 region=huanai zone=A env=test bussiness=game
kubectl get nodes node01 --show-labels
kubectl get nodes -L region,zone
kubectl label node node01 bussiness=ad --overwrite=true
加上--overwrite=true覆盖原标签的value进行修改操作
kubectl get nodes -L bussiness
使用key加一个减号的写法来取消标签
kubectl label node node01 region- zone- env- bussiness-
标签选择器主要有2类: 等值关系: =, !=
集合关系: KEY in {VALUE1, VALUE2......}
kubectl label node node01 bussiness=game
kubectl label node node02 bussiness=ad
kubectl get node -l "bussiness in (game,ad)"
k8s集群中, node是一种资源。
很多资源类型都可以打标签 。
标签是为了更好的进行资源对象的相关选择与匹配。
原文:https://blog.51cto.com/13760351/2629424