k8s(三):命令行工具kubectl与核心技术Pod

1. kubectl

1.1 概述

是k8s集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署;

1.2 kubectl命令语法

kubectl [command] [TYPE] [NAME] [flags]
  1. command: 指定要对资源执行的操作。例如:create、get、describe 和 delete
  2. TYPE:指定资源类型,资源类型是大小写敏感的,开发者能够以单数、复数和缩略的形式。例如:
kubectl get pod pod1

kubectl get pods pod1

kubectl get po pod1
  1. NAME: 指定资源的名称,名称也是大小写敏感的。如果省略名称,则会显示所有资源,例如:
kubectl get pods
  1. flags: 指定可选的参数。例如:-s或-server参数指定kubernates API server的地址和端口。

1.3 kubectl命令举例

【todo 待拓展】

2. 核心技术-Pod

2.1 概述

  1. Pod是k8s系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在k8s上运行容器化应用的资源对象,其他的资源对象都是用来支撑或扩展Pod对象功能的,比如控制器对象是用来管控Pod对象的,Service或者Ingress资源对象是用来暴露Pod引用对象的,PersistentVolume资源对象是用来为Pod提供存储功能等等,k8s不会直接处理容器,而是Pod,Pod是由一个或多个container组成的。

  2. Pod是k8s最重要的概念,每一个Pod都有一个特殊的被称为"根容器"的Pause容器。pause容器对应的镜像属于k8s平台的一部分,除了pause容器,每个pod还包含一个或多个紧密相关的业务容器。
    k8s(三):命令行工具kubectl与核心技术Pod

2.2 Pod特性

  1. 资源共享
    一个pod中的多个容器可以共享存储和网络,可以看作一个逻辑的主机
    一个pod中的多个容器可以共享存储卷,这个存储卷会被定义为Pod的一部分,并且可以挂载到改pod里的所有容器的文件系统上

  2. 生命周期短暂
    当pod所在节点发生故障,那么改节点上的pod会被调度到其他节点,需要注意的是,被重新调度的pod是一个全新的pod,跟之前的Pod没有关系。

  3. 平坦的网络
    K8s集群中,所有的pod都在同一个共享网络地址空间中,也就是说每个pod都可以通过其他pod的IP地址来实现访问

上一篇:Docker 与 K8S学习笔记(二十)—— 使用Downward API向容器注入Pod信息


下一篇:k8s的pod的理解