1.集群资源
组件是为了支撑k8s平台的运行,安装好的软件。
资源是如何去使用k8s的能力的定义,比如,k8s可以使用pod来管理业务应用,pod就是k8s集群中的一类资源,集群中的所有资源都可以通过命令查询
kubectl api-resources
2.命名空间
命名空间是集群内一个虚拟的概念,类似于资源池概念,一个池子有各种资源类型,绝大多数资源都必须属于某一个namespace
kubectl get namespaces
1.1 创建命名空间:kubectl create namespace my-namespace
- 所有namespace资源,在创建时都需要指定namespace,若不指定,默认会在default命名空间下
- 相同namespace下的同类资源不可以重名,不同类型的资源可以重名
- 不同namespace下的同类资源可以重名
- 通常在项目使用时,会创建带有业务含义的namespace来做逻辑上的整合
3.最小调度单元:pod
为什么要引入pod:
- 与容器引擎解耦
- 多容器共享网络|存储|进程空间,支持的业务场景更见灵活
3.1pod相关命令
- 使用指定文件创建pod kubectl create -f pod.yaml
- 查看pod,可以简写po,所有的操作都需要指定namespace,如果是在default命名空间下,可以省略,-o wide查看pod调度的节点及pod_ip
- 进入容器内部命令
kubectl -n exec <pod_name> -c <container_name> -it /bin/sh - 查看完整的yaml信息
- 查看pod的明细信息和事件
- 查看pod内容器日志,显示标准或者错误输出日志
kubectl -n logs -f <pod_name> -c <container_name> - 更新服务版本
kubectl apply -f demo-pod.yaml - 删除pod
根据文件删除:kubectl delete -f demo-pod.yaml
根据pod_name删除:kubectl -n delete pod <pod_name> - 查看标签:
kubectl get no --show-labels
给node添加标签:kubebctl lable node k8s-slave1 component=mysql
查看pod标签: