运行于Kubernetes中的容器
何时在 pod 中使用多个容器
将多个容器添加到单个pod的主要原因是应用可能由 一个主进程和一个或多个辅助进程组成。如图
例如,pod中的主容器可以是一个仅仅服务于某个目录中的文件的web服务器,而另一容器(所谓的sidecar容器)定期从外部源下载容并将其储存在web服务器目录中。sidecar容器的其他例子包括日志轮转器和收集器、数据处理器、通信适配器等。
决定何时在 pod 中使用多个容器
回顾一下容器应该如何分组到pod中:当决定是将两个容器放入一个pod 还是两个单独的pod 时,我们需要问自己以下问题:
- 它们需要一起运行还是可以在不同的主机上运行?
- 它们代表的是一个整体还是相互独立的组件?
- 它们必须一起进行扩缩容还是可以分别进行?
获取多容器 pod 的日志时指定容器名称
kubectl logs kubia-manual -c kubia
将本地网络端口转发到 pod 中的端口
如果想要在不通过service的情况下与某个特定的pod 进行通信(出于调试或其他原因), Kubemetes将允许我们配置端口转发到该pod。 可以通过kubectlport-forward命令完成上述操作。 例如以下命令会将机器的本地端口 8888转发到我们的kubia-manual pod的端口8080。
kubectl port-forward kubia-manual 8888:8080
标签 label
kubectl get pod --show-labels
kubectl get pod -L creation_method,env
kubectl label pod kubia-manual-v2 env=debug --overwrite
注意在更改现有标签时, 需要使用 --overwrite选项
kubectl get pod -l [ creation_method=manual ] [ env ] [ '!env' ]
注意使用单引号来圈引 !env ,这样bash shell 才不会解释感叹号
同理,我们也可以将pod与以下标签选择器进行匹配:
• creation_rnethod!=rnanual 选择带有 creation_rnethod标签,并且 值不等于manual的pod
• env in (prod, devel)选择带有env标签且值为prod或devel的pod
• env notin (prod, devel)选择带有env标签,但其值不是prod或 devel 的 pod
如:kubectl get pods -l 'environment in (production, qa)' 使用单引号
注解 annotate
你可以使用标签或注解将元数据附加到 Kubernetes 对象。 标签可以用来选择对象和查找满足某些条件的对象集合。 相反,注解不用于标识和选择对象。 注解中的元数据,可以很小,也可以很大,可以是结构化的,也可以是非结构化的,能够包含标签不允许的字符。
注解和标签一样,是键/值对:
注解可以在创建时就添加到pod中,也可以在之后再对现有的pod进行添加或修改。
kubectl annotate pod kubia-manual mycompany.com/someannotation="foo bar"
删除命名空间中的(几乎)所有资源
kubectl delete all --all
命令中的第一个 all 指定正在删除所有资源类型, 而 --all 选项指定将删除所有资源实例而不是按名称指定它们
注意使用 all 关键字删除所有内容并不是真的完全删除所有内容。 一些资源(比如 Secret) 会被保留下来, 并且需要被明确指定删除。
__EOF__

本文链接:https://www.cnblogs.com/kiyalone/p/15957174.html
关于博主:当你发现自己的才华支撑不起野心时,就请安静下来学习吧!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?