目录
一.k8s集群资源管理方式分类
1.陈述式资源管理方式
增删查比较方便,但是改非常不方便
使用一条kubectl命令和参数选项来实现资源对象管理操作
2.声明式资源管理方式
yaml文件管理
使用yaml配置文件里定义的配置,实现资源对象的管理操作
二.陈述式资源管理方法
kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
kubectl 的命令大全:kubectl --help
k8s中文文档:http://docs.kubernetes.org.cn/683.html
对资源的增、删、查操作比较方便,但对改的操作就不容易了
三.kubectl命令
查看版本信息
kubectl version
查看资源对象简写
kubectl api-resources
查看集群信息
kubectl cluster-info
kubectl get cs
kubectl get nodes
配置kubectl自动补全
source <(kubectl completion bash)vim /etc/bashrc #可添加到该文件的末尾
bash切换环境即可
node节点查看日志
journalctl -u kubelet -f
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-c5zqz #-n指定具体命名空间查看指定的kube-flannel-ds-c5zqz资源
kubectl get -n kube-flannel pods kube-flannel-ds-c5zqz -o wide #显示kube-flannel-ds-c5zqz资源的详细信息
kubectl get -n kube-system pods --show-labels # --show-labels 查看指定命名空间下资源的标签
kubectl get -n kube-system pods --show-labels -l k8s-app #通过-l筛选k8s-app 标签的资源
kubectl get -n kube-system pods --show-labels -l k8s-app=kube-dns #进一步筛选k8s-app标签值等于kube-dns的资源
kubectl get -n kubernetes-dashboard all #all选项会列出指定命名空间下pod、service、控制器资源
kubectl get -n