1、k8s集群资源管理方式分类
(1)陈述式资源管理方式:
- 增删查比较方便,但是改非常不方便
- 使用一条kubectl命令和参数选项来实现资源对象管理操作
(2)声明式资源管理方式:
- yaml文件管理
- 使用yaml配置文件里定义的配置,实现资源对象的管理操作
2、陈述式资源管理方法
- kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
- kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
- kubectl 的命令大全:kubectl --help
- k8s中文文档:http://docs.kubernetes.org.cn/683.html
- 对资源的增、删、查操作比较方便,但对改的操作就不容易了
3、kubectl命令
(1)通用操作
1)查看版本信息
kubectl version
2)查看资源对象简写
kubectl api-resources
3)查看集群信息
kubectl cluster-info #查看集群信息
kubectl get cs #查看master节点组件状态
kubectl get nodes #查看k8s所有node节点状态
4)配置kubectl自动补全
source <(kubectl completion bash) #默认只在当前shell有效
vim /etc/bashrc #可添加到该文件的末尾
bash切换环境即可
5)node节点查看日志
journalctl -u kubelet -f #-f实时跟踪
(2)基本管理信息查看
kubectl get <resource> [-o wide|json|yaml] [-n namespace]
获取资源的相关信息,-n 指定命令空间,-o 指定输出格式
resource可以是具体资源名称,如pod nginx-xxx;也可以是资源类型,如pod;或者all(仅展示几种核心资源,并不完整)
--all-namespaces 或 -A :表示显示所有命名空间,
--show-labels :显示所有标签
-l app :仅显示标签为app的资源
-l app=nginx :仅显示包含app标签,且值为nginx的资源
wide:显示详细信息
kubectl get -n kube-flannel pods #查看命名空间kube-flannel下的所有pod资源
kubectl get -n kube-flannel pods kube-flannel-ds-2cv22 #-n指定具体命名空间查看指定的kube-flannel-ds-b9765资源
kubectl get -n kube-flannel pods kube-flannel-ds-2cv22 -o wide #显示kube-flannel-ds-b9765
资源的详细信息
kubectl get -n kube-system pods --show-labels # --show-labels 查看指定命名空间下资源的标签
kubectl get -n kube-system pods