有人将如何使用kubectl
来检索有关容器映像中已安装软件包的信息?例如,如何找到已安装软件包的版本?还是列出系统上安装的所有软件包?
我正在搜索与docker inspect类似的命令。
答案 0 :(得分:0)
这可以通过使用kubectl exec来实现。例如,这里我正在获取示例CentOS 7容器中运行的dnf
的版本。
$> kubectl exec example-67575f5dfb-xw2qz -- dnf --version
4.2.7
Installed: dnf-0:4.2.7-7.el8_1.noarch at Mon Jan 13 21:49:19 2020
Built : CentOS Buildsys <bugs@centos.org> at Thu Dec 19 15:44:23 2019
Installed: rpm-0:4.14.2-25.el8.x86_64 at Mon Jan 13 21:49:16 2020
Built : CentOS Buildsys <bugs@centos.org> at Fri Nov 8 22:56:14 2019
这是另一个示例,展示了如何在图像上获取所有已安装的软件包:
$> kubectl exec example-67575f5dfb-xw2qz -- dnf list all
Last metadata expiration check: 0:10:30 ago on Mon Mar 30 03:13:10 2020.
Installed Packages
acl.x86_64 2.2.53-1.el8 @System
audit-libs.x86_64 3.0-0.10.20180831git0047a6c.el8 @System
basesystem.noarch 11-5.el8 @System
>SNIP<
答案 1 :(得分:-1)
请仔细阅读kubectl文档。您应该能够与群集进行交互并能够收集所需的信息。
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands
答案 2 :(得分:-1)
没有等效的方法。 Kubernetes与容器之间存在一定的臂长关系。大多数复杂的位都是CRI插件的委托,因此K8s本身完全不了解图像。