网站建设招聘要求,公司自己买服务器建设网站,网站建设运转,如何搭建网站赚钱Pod是一个逻辑抽象概念#xff0c;kubernetes创建和管理的最小单元#xff0c;一个Pod由一个容器或多个容器组成。特点#xff1a;一个Pod可以理解为是一个应用实例#xff0c;提供服务Pod中容器始终部署在一个Node上Pod中容器共享网络、存储资源Pod主要用法#xff1a;运…
Pod是一个逻辑抽象概念kubernetes创建和管理的最小单元一个Pod由一个容器或多个容器组成。特点一个Pod可以理解为是一个应用实例提供服务 Pod中容器始终部署在一个Node上 Pod中容器共享网络、存储资源 Pod主要用法运行单个容器最常见的用法在这种情况下可以将Pod看作是单个容器的抽象封装。 运行多个容器边车模式Sidecar通过在Pod中定义专门容器来执行主业务容器需要的辅助工作这样好处是将辅助功能同主业务容器解耦实现独立发布和能力重用。 例如日志收集应用监控Pod对象资源共享实现机制Pod管理命令创建Pod kubectl apply -f pod.yaml
或者使用命令 kubectl run nginx --imagenginx 查看Pod kubectl get pods
kubectl describe pod Pod名称 查看日志 kubectl logs Pod名称 [-c CONTAINER]
kubectl logs Pod名称 [-c CONTAINER] -f 进入容器终端 kubectl exec -it Pod名称 [-c CONTAINER] -- bash 删除Pod kubectl delete pod Pod名称 Pod对象资源共享实现机制Pod对象重启策略健康检查应用自修复重启策略restartPolicy• Always当容器终止退出后总是重启容器默认策略。 • OnFailure当容器异常退出退出状态码非0时才重启容器。 • Never当容器终止退出从不重启容器。 健康检查有以下3种类型• livenessProbe存活检查如果检查失败将杀死容器根据Pod 的restartPolicy来操作。 • readinessProbe就绪检查如果检查失败 Kubernetes会把 Pod从service endpoints中剔除。 • startupProbe启动检查检查成功才由存活检查接手 用于保护 慢启动容器支持以下三种检查方法• httpGet发送HTTP请求返回200-400范围状态码为成功。 • exec执行Shell命令返回状态码是0为成功。 • tcpSocket发起TCP Socket建立成功。 rollout 查看历史版本 rs 可以看到历史版本号与rs对应关系从rs可以再得知当前对应的镜像 # 获取发布版本与对应镜像 kubectl describe $(kubectl get rs -o name -n test |grep web1-) -n test |grep -E revision:|Image: # 回滚到上一个版本或者指定版本 kubectl rollout undo deployment web1 -n test
kubectl rollout undo deployment web1 --to-revision1 -n test 常规健康检查方法端口监听、运行进程、HTTP状态码、端口探测 环境变量创建 Pod 时可以为其下的容器设置环境变量。 应用场景容器内应用程序获取Pod信息 容器内应用程序通过用户定义的变量改变默认行为 变量值几种定义方式• 自定义变量值 • 变量值从Pod属性获取 • 变量值从Secret、 ConfigMap获取 Pod对象Init ContainerInit Container顾名思义用于初始化工作执行完就结束可以理解为一次性任务。 • 支持大部分应用容器配置但不支持健康检查 • 优先应用容器执行 应用场景• 环境检查例如确保应用容器依赖的服务启动后再启动应用容器 • 初始化配置例如给应用容器准备配置文件 Pod中会有这几种类型的容器1、Infrastructure Container 基础容器 维护整个Pod网络空间 2、 InitContainers 初始化容器 先于业务容器开始执行 3、 Containers 业务容器 并行启动 Pod对象静态Pod静态Pod特点Pod由特定节点上的kubelet管理 不能使用控制器 Pod名称标识当前节点名称 在kubelet配置文件启用静态Pod的参数vi /var/lib/kubelet/config.yaml ... staticPodPath: /etc/kubernetes/manifests 注将部署的pod yaml放到该目录会由kubelet自动创建