1.集群资源

组件是为了支撑k8s平台的运行,安装好的软件。

资源是如何去使用k8s的能力的定义,比如,k8s可以使用pod来管理业务应用,pod就是k8s集群中的一类资源,集群中的所有资源都可以通过命令查询

kubectl api-resources

kubenetes资源_命名空间

2.命名空间

命名空间是集群内一个虚拟的概念,类似于资源池概念,一个池子有各种资源类型,绝大多数资源都必须属于某一个namespace

kubectl get namespaces

kubenetes资源_命名空间_02

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标签: