我们知道Openshift容器化平台中, POD有自己的IP地址, 但是它只能在集群的内部可用. 那如果我要从其他物理计算机通过网络访问容器内的MySQL怎么办呢?
我想到了Router, 但是, Router 只支持HTTP协议的转发, 我们要使用TCP. 因此, NodePort出场了!
通过NodePort
这种方式适合长期使用, 对外提供
先看看有DC的名称
➜ kcptun oc get dc
NAME REVISION DESIRED CURRENT TRIGGERED BY
hello-microservice 1 1 1 config,image(hello-microservice:latest)
mysql-57-centos7 11 1 1 config,image(mysql-57-centos7:latest)
nodejs-ex 1 1 1 config,image(nodejs-ex:latest)
mysql-57-centos7 是我们需要的
暴露指定DC, 暴露类型为 LoadBalancer, 暴露的名称为
oc expose dc mysql-57-centos7 --type=LoadBalancer --name=mysql-ingress
导出
➜ oc export svc mysql-ingress
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
app: mysql-57-centos7
name: mysql-ingress
spec:
deprecatedPublicIPs:
- 172.29.208.121<