首先我们已经有了一个mysql的pod容器(工作负载)Kubesphere系统将会默认的为我们的系统部署一个services,我们可以先删除这个services(不要删除对应的工作负载),然后重新创建我们的服务。在创建时,我们需要选中根据一个特殊的工作负载来创建一个服务。我们首先根据mysql的内部网络进行工作负载的创建。随后我们选择相应的有状态副本集(mysql)并设置我们需要的相应的服务信息。
由于是内部网络访问,我们无需设置相应的ip信息,我们可以选择internal domain name来设置我们的网络情况,并设置3306为我们的端口映射(到pod容器的映射)。
然后我们只需要一直点击next知道services创建成功,就能够看到如下页面根据左侧菜单栏的dns信息,我们进入pod,使用dns信息中的mysql-server-in.his来连接mysql服务。
具体命令如下:
Mysql -h mysql-server-in.his -u root -p
我们可以看到我们可以通过内部网络的pod根据服务的dns信息直接进行网络资源访问。
接下来我们需要配置外部联网
依旧是在services中创建一个指定的工作负载。。
暴露特定的端口信息,选择特定的工作负载,并选择virtual ip address模式,我们需要进行虚拟ip地址的映射来实现外部网络对pod容器的访问。
其中我们需要设置模式为node port模式。
当容器创建好了之后,我们能够看到我们的服务列表中能够多出一个组件信息
我们可以看到我们的3306端口能够被映射到31565端口,我们尝试通过外部网络访问我们服务器的31565端口
我们可以看到我们的网络是能够正常访问的。
因此通过server的配置能够实现内部容器pod到外部网络的映射。