k8s中pod的创建过程和阶段状态

管理k8s集群

kubectl

k8s两种用户

一种登录

一种/sbin/nologin

linux可以密码登录可以证书登录

k8s只能证书登录

拿到这个证书可以管理集群

k8s所有节点被网络组件calico设置路由通信

所以podip可以主机访问

比如ping

如果pod运行web服务

也可以直接curl pod_ip访问到web服务

k8s集群容器管理使用方式:

pod系统进程中一个多进程的聚合单位

一个容器一个服务就是一个进程

同一个pod共享网络

pod的创建过程:

用户apiserver发送指令

apiserver会把指令信息记录数据库etcd中

pod创建过程是一个异步创建

scheduler通过watch机制

发现集群创建出来调度pod

scheduler决定这个pod运行哪个节点

scheduler作为集群调度器选择合适节点

这个pod进行运行

选择好节点之后

这个数据同步apiserver

并且记录etcd数据

这个调度的过程叫做绑定

第一个过程用户指令过程

二个过程pod调度过程

两个过程分开执行

两个过程结束之后pod还是没有创建

之前两个过程都是管理控制节点master运行

master执行调度绑定之后

计算节点

被绑定的计算节点的kubelet通过watch机制发现集群

绑定到这个节点上,尚未创建pod

kubelet自己不会创建容器

kubeletruntime软件,比如containerd

runtime软件负责

按照kubelet要求pod创建出来

创建之后

结果反馈kubelet

kubelet结果反馈apiserver

最终结果写入数据库中。

pod的创建,总共三个过程

第一个用户交互过程

第二个调度过程

第三个创建过程

所以kubectl get 命令查询

并不是实际节点进行查询

而是查询etcd数据库中pod状态。

至于pod实际状态

kubelet更新数据库的。

pod创建过程经历不同状态

第一个pending,是一个等待调度过程

第二个scheduler进行调度调度之后

pod进入一个中间状态createcontainer

第三个runnningfailed其中一种就是创建失败还是成功

如果成功创建pod一段时间还会重试重新运行

尝试pod成功运行

任务执行成功之后进入completed状态

这是pod各种状态相位

failed0退出

unknown 无法获取pod状态大多数由于网络不通或者防火墙屏蔽

了解这些有助于pod管理

-----------------------------------------------------------------------------------

namespace也是一种api资源

kube-system系统名称空间

eventsdescribe里面主要用途排错

get外观

describepod

logs容器

排错三兄弟系统重要

]# kubectl exec -it  myweb -- ls  
# 其中"--"  选项终止符这个不是k8s里面东西shell东西
]# ls --help  | grep --time
# 这个里面"--time"没有当成grep参数而被当成grep选项
]# ls --help  | grep --  --time
# 加上选项终止符"--" , 就是告诉grep后面内容不是选项参数

]# kubectl exec -it  myweb -- ls
index.html  info.php
]# kubectl exec -it  myweb  ls
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
index.html  info.php
# k8s告诉管理员pod后面命令 -- [COMMAND]

“--”选项终止符作用解决复杂命令之间选项参数分割问题

pod监控自己容器

如果容器故障自动restart容器

控制器可以跨节点搬运服务如果节点故障

控制器自动服务搬到其他节点运行

exec主要用于容器运行命令       

有时候通过日志搞不定容器里面

cp 文件目录拷贝容器,也可以从容器拷贝宿主机

]# kubectl cp  myweb:/var/www  ./www
tar: Removing leading `/' from member names

dockercp本机复制

k8scp跨主机复制

k8s拷贝数据条带化打包tar是个条带化数据按照条带化方式

数据过来过来东西就是tar本地做了一个解包操作

所以k8scptar实现

cp还有一个功能重定向

]# tar  -cf  -  www
#  这里面"-"  代表标准输入和标准输出
]# tar  -cf  -  www  |gzip  >a.tar.gz

重定向可以实现跨主机重定向

可以A机器重定向B机器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/882012.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WebRTC编译后替换libwebrtc.aar时提示找不到libjingle_peerconnection_so.so库

Loading native library: jingle_peerconnection_so 问题原因:编译的时候只编译了armeabi-v7a的版本,但是应用程序是arm64-v8a,所以无法运行 解决方法:更新编译脚本,加上arm64-v8a进行编译 ./tools_webrtc/android/bu…

【漏洞复现】用友 NC-Cloud queryStaffByName Sql注入漏洞

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

windows 驱动实例分析系列-COM驱动案例讲解

COM也被称之为串口,这是一种非常简单的通讯接口,这种结构简单的接口被广泛的应用在开发中,几乎所有系统都能支持这种通讯接口,它有RS232和RS485等分支,但一般我们都会使用RS232作为常见的串口,因为它足够简单和高效。 几乎所有的开发板,都会提供用于烧录、调试、日志的…

常见中间件漏洞(Apache)

CVE-2021-41773 搭建环境 docker pull blueteamsteve/cve-2021-41773:no-cgid curl http://192.168.10.190:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd 工具 验证

银河麒麟高级服务器操作系统V10:提升普通用户操作权限

银河麒麟高级服务器操作系统V10:提升普通用户操作权限 1. 打开终端2. 切换到root用户(可选)3. 将用户加入到wheel组4. 验证用户组变更5. 使用sudo执行命令结论 💖The Begin💖点点关注,收藏不迷路&#x1f4…

神经网络面试题目

1. 批规范化(Batch Normalization)的好处都有啥?、 A. 让每一层的输入的范围都大致固定 B. 它将权重的归一化平均值和标准差 C. 它是一种非常有效的反向传播(BP)方法 D. 这些均不是 正确答案是:A 解析: ‌‌‌‌  batch normalization 就…

ChatGPT 在国内使用的方法

AI如今很强大,聊聊天、写论文、搞翻译、写代码、写文案、审合同等等,ChatGPT 真是无所不能~ 作为一款出色的大语言模型,ChatGPT 实现了人类般的对话交流,最主要是能根据上下文进行互动。 接下来,我将介绍 ChatGPT 在国…

docker|Oracle数据库|docker快速部署Oracle11g和数据库的持久化(可用于生产环境)

一、 容器数据持久化的概念 docker做为容器化的领先技术,现在广泛应用于各个平台中,但不知道什么时候有一个说法是docker并不适用容器化数据库,说容器化的数据库性能不稳定,其实,这个说法主要是因为对docker的数据持…

电气设备施工现场风险状态判断ai模型训练数据集

电气设备施工现场风险状态判断ai模型训练数据集 id:18 电气设备施工现场工人人工智能学习数据和工作环境安全数据,建立系统化管理体系,改变全球EHS范式,预防工业事故。数据集记录了387709例子电力设施建设以及施工现场相关的灾害安全环境数据…

Python进阶学习笔记(一)对象

1.对象模型 在面向对象理论中类和对象是不同的概念,而在python中类也是对象,叫做类型对象。 所以python中的类,实例对象,类型都是对象。 元类型: 在python中实例对象的类型为对应类型的对象,而类型的对象…

FastAPI 的隐藏宝石:自动生成 TypeScript 客户端

在现代 Web 开发中,前后端分离已成为标准做法。这种架构允许前端和后端独立开发和扩展,但同时也带来了如何高效交互的问题。FastAPI,作为一个新兴的 Python Web 框架,提供了一个优雅的解决方案:自动生成客户端代码。本…

Java笔试面试题AI答之设计模式(3)

文章目录 11. Spring开发中的哪里使用了工厂设计模式 ?1. BeanFactory2. 工厂方法模式3. 抽象工厂模式4. 示例说明总结 12. 什么是代理模式 ?13. 请列举代理模式的应用场景 ?14. 什么是原型模式 ?15. 请简述Java中原型模式的使用方…

c++二叉搜索树

⼆叉搜索树的概念 ⼆叉搜索树又称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树: • 若它的左子树不为空,则左子树上所有结点的值都小于等于根结点的值 • 若它的右子树不为空,则右子树上所有结点的值都大于等于根结…

Contact Form 7最新5.9.8版错误修复方案

最近有多位用户反应Contact Form 7最新5.9.8版的管理页面有错误如下图所示 具体错误文件的路径为wp-content\plugins\contact-form-7\admin\includes\welcome-panel.php on line 153 找到welcome-panel.php这个文件编辑它,将如下图选中的部分删除 删除以后&#xf…

洛谷P5740——结构体运用

简单的结构体&#xff0c;但是要注意这个排序还有求和重复 时的特判 AC代码附在后面 #include<bits/stdc.h> using namespace std; struct Node{string name;int a,b,c,sum;//语文&#xff0c;数学&#xff0c;英语 }node[1000]; bool cmp(Node a,Node b){return a.sum…

软件测试之测试用例

1. 测试用例的基本要素 测试用例&#xff08;Test Case&#xff09;是为了实施测试而向被测试的系统提供的一组集合&#xff0c;这组集合包含&#xff1a;测试环 境、操作步骤、测试数据、预期结果等要素。 好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试 评价…

Fyne ( go跨平台GUI )中文文档- 架构 (八)完结

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章&#xff1a; Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…

恶意Bot流量识别分析实践

1、摘要 随着互联网的发展&#xff0c;自动化工具和脚本&#xff08;Bots&#xff09;的使用越来越普遍。虽然一些善意 Bots 对于网站的正常运行和数据采集至关重要&#xff0c;但恶意 Bots 可能会对网站带来负面影响&#xff0c;如爬取敏感信息、恶意注册、刷流量等。因此&am…

某建筑市场爬虫数据采集逆向分析

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 目标网站 aHR0cHM6Ly9qenNjLm1vaHVyZC5nb3YuY24vZGF0YS9jb21wYW55P2NvbXBsZXhuYW1lPSVFNiVCMCVCNA 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面…

十八,Spring Boot 整合 MyBatis-Plus 的详细配置

十八&#xff0c;Spring Boot 整合 MyBatis-Plus 的详细配置 文章目录 十八&#xff0c;Spring Boot 整合 MyBatis-Plus 的详细配置1. MyBatis-Plus 的基本介绍2. Spring Boot 整合 MyBatis Plus 的详细配置3. Spring Boot 整合 MyBatis plus 注意事项和细节4. MyBatisx 插件的…