kubernetes连接外部应用

  kubernetes中的pod如需要连接外部的应用,如mysql等不适合放到kubernetes中的应用。有两种方法:第一种-通过mysql的ip进行连接,第二种-借助kubernetes的Endpoints直接将外部服务器映射为kubernetes内部的一个服务

  简单示例

apiVersion: v1
kind: Service
metadata:
  name: mysql-dev
spec:
  ports:
    - port: 3306
      protocol: TCP
      targetPort: 3306

---
apiVersion: v1
kind: Endpoints
metadata:
  name: mysql-dev
subsets:
  - addresses:
      - ip: "10.12.10.10"
    ports:
      - port: 3306

Service的定义并没有使用标签选择器,而在后面定义了一个与Service同名的Endpoints,以使得它们能自动关联。Endpoints的subsets中指定了需要连接的外部服务器的IP和端口。这样在kubernetes同命名空间中就能将Service名:mysql-dev解析为对应的ip。在kubernetes的容器中执行

mysql -uxxx -pxxx -hmysql-dev 就可以连接到外部的mysql了。
posted @ 2022-02-14 14:45  潇潇暮鱼鱼  阅读(140)  评论(0)    收藏  举报