k8s资源管理
- 一、陈述式资源管理方法
- 二、基本信息查看
-
- 1.查看master节点状态
- 2.查看命令空间
- 3.查看default命名空间的所有资源
- 4.创建命名空间app
- 5.删除命名空间app
- 6.在命名空间kube-public 创建副本控制器(deployment)来启动Pod (nginx-test)
- 7.描述某个资源的详细信息
- 8.查看命名空间kube-public 中的pod 信息
- 9.kubectl exec可以跨主机登录容器,docker exec只能在容器所在主机上登录
- 10.删除(重启)pod资源,由于存在deployment/rc之类的副本控制器,删除pod也会重新拉起来
- 11.若pod无法删除,总是处于terminate状态,则要强行删除pod
- 12.扩缩容
- 13.删除副本控制器
- 三、项目的生命周期
- 四、金丝雀发布(Canary Release)
- 五、声明式管理方法
- 总结
一、陈述式资源管理方法
1.概述
1.kubernetes集群管理集群资源的唯一入口是通过相应的方法调用apiserver 的接口
2.kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化apiserver能识别的信息,进而实现管理k8s各种资源的一种有效途径
3.kubectl的命令大全
kubectl --help
k8s中文文档:http://docs.kubernetes.org.cn/683.html
4.对资源的增、删、查操作比较方便,但对改的操作就不容易了
2.简单命令
#查看版本信息
kubectl version
#查看资源对象简写
kubectl api-resources
#查看集群信息、
kubectl cluster-info
#配置kubectl自动补全
source <(kubectl completion 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的资源
1.查看master节点状态
kubectl get componentstatuses
kubectl get cs
2.查看命令空间
kubectl get namespace
kubectl get ns
命令空间的作用:用于允许不同命令空间的相同类型的资源重名的
3.查看default命名空间的所有资源
kubectl get all [-n default]
4.创建命名空间app
kubectl create ns app
kubectl get ns
5.删除命名空间app
kubectl delete namespace app
kubectl get ns
6.在命名空间kube-public 创建副本控制器(deployment)来启动Pod (nginx-test)
kubectl create deployment nginx-test --image=nginx -n kube-public
7.描述某个资源的详细信息
kubectl describe deployment nginx-test -n kube-public
8.查看命名空间kube-public 中的pod 信息
kubectl