SSH可能不是最佳的方式。
Container改变了我们对虚拟化的看法。从虚拟化的BIOS、操作系统和内核到每个虚拟网络接口控制器(NIC)。登录虚拟盒子就像登录自己的工作站一样。这是一个非常直接和简单的类比。
然后从LXC开始,最终达到Open Container Initiative
(OCI),事情就变得复杂了。
Idempotency
在Container的世界里 , “ 虚拟机”大多只是虚拟的。不需要虚拟化的一切都是从主机中借用的。此外,Container本身通常意味着短暂和幂等,因此它不存储持久性数据,其状态由主机上的配置文件定义。
如果你习惯了虚拟机的旧方式,那么你自然会期望登录虚拟机来与它交互,但Container是短暂的。
控制其基础设施的命令(如oc、cictl、lxc和docker)提供了一个接口,可以运行重要命令以重新启动服务、查看日志、确认重要文件的存在和权限模式等。应该使用基础设施提供的工具与应用程序交互,或者编辑配置文件并重新启动。这就是容器的设计目的。
例如,其安装在/var/discourse中自包含。只要有/var/discourse的备份,始终可以通过重新启动容器来恢复论坛。Container不保存持久性数据,其配置文件为/var/discourse/containers/app.yml。
如果登录上并编辑其中包含的任何文件,如果必须重新启动,所有更改都将丢失。
从头构建的LXC容器更加灵活,在启动时配置文件(在定义的位置)传递给Container。
像Jenkins这样的构建系统通常有一个默认配置文件,例如jenkins.yaml,为仅用于构建和运行源代码测试的基本映像提供说明。构建完成后,Container就会消失。
既然已经知道不需要SSH来进行交互,这里概述了哪些工具可用(以及一些关于使用SSH的注意事项,尽管所有花式工具使它变得多余)。
OpenShift网络控制台
OpenShift 4提供了一个用于创建和维护的开源工具链,包括一个交互式网络控制台。
登录网页控制台时,导航到项目概览,然后单击“应用程序”选项卡以获取pod列表。选择一个(运行)pod来打开应用程序的详细信息面板。