1.Pod-使用
pod资源:至少由两个容器组成,pod基础容器和业务容器组成(最多1+4)
核心原则是:将多个应用分散到多个Pod中
原因:基于资源的合理应用;扩缩容,不同应用应该有不同的扩缩容策略等。
如果容器之间不是必须运行在一起的话,那么就放到不同的Pod里
如果容器之前是相互独立的组件,那么就放到不同的Pod里
如果容器之前扩缩容策略不一样,那么就放到不同的Pod里
结论:单Pod单容器应用,除非特殊原因
2.创建Pod资源
创建Pod可以使用两种方式,一种是通过命令行加各种命令行参数的方式,另一种是表单方式创建(推荐)。以下是一个创建Pod时的大概流程
流程:
1:kubectl 向K8s API发送一个REST HTTP请求
2:调度器将其调度到一个工作节点上
3:被调度的工作节点上的kubelet会告知Docker拉取镜像,下载后运行容器。
2.1 k8s yaml的主要组成
apiVersion
: API版本kind
: 资源类型,比如Pod资源metadata
: 属性包括名称,名称空间,标签等spec
: 详细,关于Pod内容的实际规格说明,例如Pod的容器,卷及其他数据。
2.2 使用yaml文件创建Pod资源
1.kubectl
命令进行创建
2.Pod的yaml文件
2.3 Pod的基本管理
1.查看我们所创建的Pod资源,-o wide查看详细
,我们可以查看到Pod的IP,被调度的节点。
2.查看Pod的描述
当我们发现某个Pod迟迟无法创建时,我们就可以用kubectl describe pod [Pod名称]
来查看,定位问题。
3.查看pod的日志
容器日志在大于10M后会自动轮替,所以我们看到的是轮替后的日志,或者没有轮替的日志,即有可能不是完整的日志, 如果Pod有多个容器时,查看某个容器的日志时需要加参数-c
3.镜像的拉取策略
镜像的三种拉取策略
Always:总是从仓库拉取镜像
Never:从不拉取镜像
IfNotPresent:如果本地有镜像就走本地,没有再去拉取
默认的
pull
策略为:Always
4.为Pod资源添加harbor私有仓库的secret
1.命令行创建一个secret
2.将secret
绑定到资源中,创建的资源必须要在同一namespace
中才能关联上。
与Pod绑定示例:





