溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes的Endpoints

發(fā)布時間:2020-07-20 14:42:02 來源:網絡 閱讀:1293 作者:msj0905 欄目:建站服務器

在之前的博文中,我們演示過如何通過ceph來實現(xiàn)kubernetes的持久存儲,以使得像mysql這種有狀態(tài)服務可以在kubernetes中運行并保存數(shù)據(jù)。這看起來很美妙,然而在實際的生產環(huán)境使用中,通過分布式存儲來實現(xiàn)的磁盤在mysql這種IO密集性應用中,性能問題會顯得非常突出。所以在實際應用中,一般不會把mysql這種應用直接放入kubernetes中管理,而是使用專用的服務器來獨立部署。而像web這種無狀態(tài)應用依然會運行在kubernetes當中,這個時候web服務器要連接kubernetes管理之外的數(shù)據(jù)庫,有兩種方式:一是直接連接數(shù)據(jù)庫所在物理服務器IP,另一種方式就是借助kubernetes的Endpoints直接將外部服務器映射為kubernetes內部的一個服務。

我們來看一個簡單的示例:

Kubernetes的Endpoints

apiVersion: v1
kind: Service
metadata:
  name: plat-dev
spec:
  ports:    - port: 3306
      protocol: TCP
      targetPort: 3306---apiVersion: v1
kind: Endpoints
metadata:
  name: plat-dev
subsets:  - addresses:      - ip: "10.5.10.109"
    ports:      - port: 3306

Kubernetes的Endpoints

這個示例定義了兩種資源對象,分別是Service和Endpoints。其中Service的定義并沒有使用標簽選擇器,而在后面定義了一個與Service同名的Endpoints,以使得它們能自動關聯(lián)。Endpoints的subsets中指定了需要連接的外部服務器的IP和端口。

我們可以通過kubectl get svc來進行查看:

[root@server--IP       EXTERNAL--dev            .      <none>        /

我們可以再啟動一個示例容器,在容器中執(zhí)行如下操作來嘗試連接外部的服務:

Kubernetes的Endpoints

[root@server-116 test]# kubectl exec -it nginx /bin/bash
[root@nginx nginx]# nslookup plat-dev
Server:        10.254.0.100Address:    10.254.0.100#53Name:    plat-dev.default.svc.cluster.local
Address: 10.254.4.76[root@nginx nginx]# mysql -uxxx -pxxx -hplat-dev
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 349446Server version: 5.6.14 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

Kubernetes的Endpoints


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI