目录
一、陈述式管理
1、陈述式资源管理方法
2、k8s相关信息查看
2.1 查看版本信息
2.2 查看节点信息
2.3查看资源对象
2.4 查看集群信息
2.5 配置kubectl自动补全
2.6 查看日志
2.7 基本信息查看
2.7.1 查看master节点状态
2.7.2 查看命名空间
2.8 命名空间操作
2.8.1 查看default命名空间的所有资源
2.8.2 创建命名空间
2.8.3 删除命名空间
2.9 deployment/pod操作
2.9.1 在命名空间kube-public创建副本控制器(deployment)来启动Pod(nginx-test)
2.9.2 描述某个资源的详细信息
2.9.3 查看命名空间kube-public中pod信息
2.9.4 登录容器
2.9.5 删除(重启)pod资源
2.9.6强制删除pod资源
2.9.7 扩缩容
2.9.7.1 扩容
2.9.7.2 缩容
2.9.8 删除副本控制器
2.10 增加/删除label
2.10.1 增加label
2.10.2 删除label
二、声明式管理
1. 声明式管理方法
2、查看资源配置清单
3. 解释资源配置清单
4、修改资源配置清单并应用
4.1 离线修改
4.1.1 修改yaml文件
4.1.2 删除资源
4.1.3 新建资源
4.1.4 查看service资源
4.2 在线修改
5、删除资源配置清单
5.1 陈述式删除
5.2 声明式删除
1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口
2.kubectl 是官方的 CLI 命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径
3.kubectl 的命令大全
kubectl --help
4.k8s官方中文文档:http://docs.kubernetes.org.cn/683.html
5.对资源的增、删、查操作比较容易,但对改的操作就不容易了
kubectl version
kubectl api-resources
这个命令提供了资源对象的简写功能将来在使用kubectl命令的时候可以直接用简写
kubectl cluster-info
source <(kubectl completion bash)
journalctl -u kubelet -f
kubectl get [-o wide|json|yaml] [-n namespace]
获取资源的相关信息,-n指定命名空间,-o指定输出格式
resource可以是具体资源名称,如"pod nhinx-xxx";也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅展示几种核心资源,并不完整)
–all-namespaces或-A:表示显示所有命名空间
–show-labels:显示所有标签
-l app:仅显示标签为app的资源
-l app=nginx:仅显示包含app标签,且值为nginx的资源
kubectl get componentstatuses
#componentstatues可以缩写成cs
kubectl get cs
kubectl get namespace
#namespace可以缩写成ns
kubectl get ns
kubectl get all [-n default]
这默认是查看default命名空间
kubectl create ns lnjnb
kubectl delete ns lnjnb
kubectl create deployment nginx-test --image=nginx -n kube-public
kubectl describe deployment nginx-test -n kube-public
kubectl describe pod nginx-test -n kube-public
kubectl get pods -n kube-public
kubectl exec 可以跨主机登录容器,docker exec 只能在容器所在主机登录
kubectl exec -it nginx-test-795d659f45-wl9b7 bash -n kube-public
由于存在 deployment/rc 之类的副本控制器,删除 pod 也会重新拉起来
kubectl delete pod nginx-test-795d659f45-xjjvk -n kube-public
kubectl get pod -n kube-public
但是删除pod之后会重启的,想要真正的删除pod资源必须要从大开始删除,即控制器,副本集再到pod
kubectl delete pod [] -n [] --force --grace-period=0
kubectl scale deployment nginx-test --replicas=3 -n kube-public
kubectl scale deployment nginx-test --replicas=1 -n kube-public
kubectl delete deployment nginx-test -n kube-public
这里直接将控制器直接删除删除后,与该控制器想匹配的副本集与pod资源都会跟着删除,原因在之前有讲过。
kubectl label deploy nginx-test version=nginx1.14
kubectl label deploy nginx-test version-
1.适合于对资源的修改操作
2.声明式资源管理方法依赖于资源配置清明文件对资源进行管理
3.资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)
4.对资源的观念里,是通过实现定义在同一资源配置清单内,再通过陈述式命令应用到k8s集群里
5.语法格式:kubectl create/apply/delete -f -o yaml
kubectl get deploy/nginx -o yaml
kubectl get service nginx -o yaml
kubectl explain deployment.metadata
kubectl explain service.metadata
修改yaml文件:并用kubectl apply -f xxxx.yaml文件使之生效
注意:当apply不生效时,先使用delete清除资源,再apply创建资源
kubectl get service nginx -o yaml > nginx-svc.yaml
kubectl delete -f nginx-svc.yaml
kubectl apply -f nginx-svc.yaml
kubectl get svc
直接使用kubectl edit service nginx-service在线编辑配置资源清单并保存退出即时生效(如port: 888)
PS:此修改方式不会对yaml文件内容修改
kubectl edit service nginx-service
kubectl delete service nginx-service
kubectl delete -f nginx-svc.yaml