Docker
中咱们都说容器、docker
,你们耳熟能详。但到了kubernetes
中,这个专有名词仿佛就被"取而代之"了。kubernetes
的语境中,咱们将一个容器集合称之为Pod
git
那什么是Pod?如图所示,Pod中有一个pause容器,和一堆业务容器,他们有各自的PID
、MOUNT
和USER
,但他们共享IPC
、UTS
和NETWORK
。对于这六个专属名词的描述,能够看下面的表格:github
简称 | 描述 |
---|---|
UTS | 主机名 |
IPC | 进程间通讯 |
PID | "chroot"进程树 |
MOUNT | 挂载点 |
NETWORK | 网络访问,包括接口 |
USER | 将本地的虚拟user-id映射到真实的user-id |
kind:定义资源类型,例如deployment、service等 apiVersion:定义调用的api版本,所支持的版本能够经过kubectl api-resources查看 metadata:资源提供源数据信息,如名称、隶属的名称空间和标签等 spec:用于定义用户指望的状态,不一样的资源类型 Status:记录活动对象的当前状态信息,由k8s系统自行维护,对用户来讲为只读字段
陈述式: kubectl create -f xx.yaml 申明式: kubectl apply -f xx.yaml
#相关资源的命令查询: kubectl explain pods(.spec.tolerations….) #导出pod对应的yaml模版: kubectl get pod ngx-new-cb79d555-gqwf8 -o yaml --export > ngx-new-demo.yaml #Docker 策略 Docker: imagePullPolicy: Always:不管本地有没有镜像,都要去互联网拖(经常使用于拉取latest的镜像) IfNotPresent:若是本地没有镜像,就不启动(经常使用于拉取指定版本的镜像) Nerver:本地有就直接用,没有再去拖
Service:申明NodePort类型,能够经过任意节点访问 hostPort:直接将容器的端口与所调度的节点上的端口路由,这样用户就能够经过宿主机的IP加上来访问Pod了 hostNetwork:共享宿主机的网络名称空间
reference文档:https://kubernetes.io/docs/reference/using-api/api-overview/docker
API文档:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/api
本文原址位于个人Github,我会陆续将全部专题更新过来,其中包括docker、k8s、ceph、istio和prometheus,旨在分享云原生中大而全的技术知识点和实操过程,若是对你有用,请follow、star个人github,这也是我更新、分享下去的动力,谢谢~bash