济南建站网站如何成立网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:48
当前位置: 首页 > news >正文
济南建站网站,如何成立网站,网软志成学校网站管理系统官方商业正式版,网站建设与网页设计总结基础概念 定义#xff1a;Pod 是 K8S 中最小的部署单元#xff0c;是一个或多个紧密关联容器的组合。调度#xff1a;Pod 作为一个整体被调度到 K8S 集群中的节点上。生命周期#xff1a;Pod 的生命周期由包含的容器的生命周期决定。 Pod中容器 容器定义#xff1a;Pod…基础概念 定义Pod 是 K8S 中最小的部署单元是一个或多个紧密关联容器的组合。调度Pod 作为一个整体被调度到 K8S 集群中的节点上。生命周期Pod 的生命周期由包含的容器的生命周期决定。 Pod中容器 容器定义Pod 中的容器通过 Pod 的容器列表定义这些容器可以共享相同的网络和存储。共享资源容器共享相同的网络命名空间可以通过 localhost 进行通信它们也可以访问共享的存储卷。 Pod的网络模型 共享网络所有 Pod 中的容器共享同一个 IP 地址和端口空间它们可以使用 localhost 进行直接通信。ServicePod 可以通过 Service 抽象进行访问Service 提供了负载均衡和服务发现的功能。 Pod的生命周期 PendingPod正在等待调度到某个节点上。RunningPod中的至少一个容器正在运行。SucceededPod 中的所有容器已成功运行完成。FailedPod 中至少有一个容器已经以非正常状态退出。UnknownPod 的状态无法确定。 Pod的创建和管理 Pod定义文件使用 YAML 文件定义 Pod 的配置包括容器规范、环境变量、资源限制等。kubectl命令使用 kubectl 命令行工具创建、删除、管理 Pod。ReplicaSets 和 Deployments通过 ReplicaSets 和 Deployments 来管理 Pod 的复制和更新。 多容器Pod 定义一个 Pod 可以包含多个容器这些容器共享相同的网络和存储。使用场景多容器 Pod 适用于需要协同工作的应用例如日志收集、辅助任务等。 Pod的基本使用 多种方式创建Pod kubectl命令创建Pod
直接运行一个nginx pod
kubectl run pod-nginx –imagenginx:latest
查看 pod 的详细信息
kubectl get pod pod-nginx -o wide
在 master 节点访问 nginx
curl ${pod_ip}通过YAML创建Pod
pod-nginx.yaml
apiVersion: v1 kind: Pod metadata:name: pod-nginx spec:containers:- name: pod-nginximage: nginx-1.18.1ports:- containerPort: 80
通过 kubectl apply -f pod-nginx.yaml 通过文件创建资源配置 Pod 镜像拉取策略
spec.containers[].imagePullPolicy: IfNotPresent Always[重新下载镜像]、Never[仅使用本地]、IfNotPresent[优先使用本地]
资源申请
Pod 中的 Container 指定了资源 request 时kube-scheduler 就利用该信息决定将 Pod 调度到哪个节点上当你为 container 指定了资源 limit 时kubelet 就可以确保运行的容器不会使用超出所设的限制资源。kubelet 还会为容器预留所 request 数量的系统资源
单位CPU(0.1/100m)、Memory(100Ei、100Pi、100Ti、100Gi、100Mi、100Ki)配置 spec.containers[].resources.limits.cpuspec.containers[].resources.limits.memoryspec.containers[].resources.requests.cpuspec.containers[].resources.requests.memory
生命周期事件回调
postStartK8S 在容器创建后立即发送 postStart 事件然而postStart 处理函数的调用不保证早于容器的入口点(entrypoint)的执行postStopK8S 在容器结束前立即发送 preStop 事件(termination)如果 preStop 被阻塞那外界将会一直等待该事件结束除非 Pod 宽限期限超时(terminationGracePeriodSeconds 30) 配置定义 PodpostStart 回调后输出postStart到 k8s.txtpreStop 回调后输出 “preStop” 到 k8s.txt
apiVersion: v1
kind: Pod
metadata:name: pod-nginx-lifecycle
spec:containers:- name: pod-nginx-lifecycleimage: nginx:1.18.1imagePullPolicy: IfNotPresentlifecycle:postStart:exec:command: [/bin/sh, -c, echo postStart /k8s.txt]postStop:exec:command: [/bin/sh, -c, echo postStop /k8s.txt; sleep 3600;]ports:- containerPort: 80验证 postStart 回调
kubectl exec -ti pod-nginx-lifecycle – /bin/bash
cat /k8s.txt
################
postStart
################验证 postStop 回调
删除容器
kubectl delete pod pod-nginx-lifecycle
在另一个节点执行命令
kubectl exec -ti pod-nginx-lifecycle – /bin/bash cat /k8s.txt ################ postStart postStop ################Pod 加启动、就绪、存活探针 存活探针k8s 通过存活探针来确定什么时候要重启容器。就绪探针k8s 通过就绪探针来判断是否要给流量。启动探针k8s 通过启动探针来了解应用容器何时启动如果配置了这类探针那么在这个探针成功之前就不会触发存活和就绪探针防止程序被频繁 kill。 配置 存活探针 exec 模式容器启动时创建 healthy 文件休眠 30s删除 healthy 文件休眠 3000s存活探针延时 5s 调用后面每隔 5s 调用一次验证存活 apiVersion: v1 kind: Pod metadata:name: pod-nginx-liveness-exec spec:containers:- name: pod-nginx-liveness-execimage: nginx:1.18.1imagePullPolicy: IfNotPresentargs:- /bin/sh- -c- touch /healthy; sleep 30; rm -f /tmp/healthy; sleep 3000livenessProbe:exec:command:- cat- /healthyinitialDelaySeconds: 5periodSeconds: 5然后不断执行 kubectl describe pod pod-nginx-liveness-exec 命令观察探针情况。 http 模式 apiVersion: v1 kind: Pod metadata:name: pod-nginx-liveness-http spec:containers:- name: pod-nginx-liveness-httpimage: nginx:1.18.1imagePullPolicy: IfNotPresentlivenessProbe:httpGet:path: /index.htmlport: 80httpHeaders:- name: Custom-Headervalue: AwesomeinitialDelaySeconds: 3periodSeconds: 3此是启动是正常的假设我们这个时候进入容器删除掉 index.html kubectl exec -ti pod-nginx-liveness-http – /bin/bash rm -fr /usr/share/nginx/html/index.html过几秒后执行 kubectl get pod 查看到 pod 状态为 restart 了 1 次再执行 kubectl describe pod pod-nginx-liveness-http 可以查看到具体的重启原因是什么?我们这里是因为 index.html 被删除导致容器访问 404 导致的重启。 就绪探针 就绪探针和存活探针的配置一样唯一的区别是使用 readinessProbe apiVersion: v1 kind: Pod metadata:name: pod-nginx-readiness spec:containers:- name: pod-nginx-readinessimage: nginx:1.18.1imagePullPolicy: IfNotPresentreadinessProbe:httpGet:path: /index.htmlport: 80httpHeaders:- name: Custom-Headervalue: AwesomeinitialDelaySeconds: 3periodSeconds: 3同样的操作在容器启动一会后进入容器删除 index.html 文件 kubectl exec -ti pod-nginx-readiness – rm -rf /usr/share/nginx/html/index.html过一会查看 pod 可以看到就绪探针检测失败但是通过 kubectl get pod 发现 pod ready 的数量为0但是 Pod 不会自动重启这点和存活探针不同。 启动探针 apiVersion: v1 kind: Pod metadata:name: pod-nginx-startup spec:containers:- name: pod-nginx-startupimage: nginx:1.18.1imagePullPolicy: IfNotPresentstartupProbe:httpGet:path: /index2.htmlport: 80initialDelaySeconds: 3periodSeconds: 3这里我们写成 index2.html由于这个文件是不存在的所以肯定是无法正常启动的 kubectl edit pod pod-nginx-startup 或 kubectl delete -f pod-nginx-startup.yaml
修改 index2.html 为 index.html。
kubectl apply -f pod-nginx-startup.yaml修改成 index.html 后则探针检测成功。
- 上一篇: 济南建站公司模板华为云 搭建网站
- 下一篇: 济南建站优化win10 wordpress安装教程视频
相关文章
-
济南建站公司模板华为云 搭建网站
济南建站公司模板华为云 搭建网站
- 技术栈
- 2026年03月21日
-
济南建站公司电话工业设计公司发展方向
济南建站公司电话工业设计公司发展方向
- 技术栈
- 2026年03月21日
-
济南建网站多少钱怎么搭建手机网站m
济南建网站多少钱怎么搭建手机网站m
- 技术栈
- 2026年03月21日
-
济南建站优化win10 wordpress安装教程视频
济南建站优化win10 wordpress安装教程视频
- 技术栈
- 2026年03月21日
-
济南教育论坛网站建设网站开发 验收模板
济南教育论坛网站建设网站开发 验收模板
- 技术栈
- 2026年03月21日
-
济南教育论坛网站建设武冈网络推广
济南教育论坛网站建设武冈网络推广
- 技术栈
- 2026年03月21日

