Kubernetes架构下比较核心的问题是数据如何persistance,虽然提供了Persistent volumn的方式,但是对于像数据库之类的产品在kubernetes集群环境中运行和管理还是很有难度的,Kubernetes提供了endpoints这种模式让外部的服务映射成内部的服务,这样比较好的解决了集群对外的连接问题,

如果我们去连接外部的一个oracle数据库,具体的步骤如下:

建立endpoints和service.

[root@k8s-master jdbcservice]# cat jdbc-endpoint.yaml

apiVersion: v1

kind: Endpoints

metadata:

name: jdbc

subsets:-addresses:- ip: 10.182.168.244ports:- port: 1521protocol: TCP

为了方便,我们固定了service的集群地址

[root@k8s-master jdbcservice]# cat jdbcservice.yaml

apiVersion: v1

kind: Service

metadata:

name: jdbc

spec:

clusterIP:10.254.150.201ports:- port: 1521targetPort:1521protocol: TCP

需要注意的是,service和endpoints的名字要相同,另外如果delete了service.再重新建立的时候要再把endpoints建立一遍。

在这个service的表里,我们看到jdbc服务绑在了201这个地址上。

[root@k8s-master jdbcservice]# kubectl getservices

NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE

helloworldsvc10.254.43.122 7001:30001/TCP 12m

jdbc10.254.150.201 1521/TCP 30m

kubernetes10.254.0.1 443/TCP 121d

registry10.254.174.54 5000:30002/TCP 20h

images的配置

然后对我们的weblogic images进行jdbc的配置。

点击Test Configuration,如果测试不过,weblogic不允许建立连接池成功.

在运行pod的节点上运行docker ps找到启动image的容器id.

[root@k8s-node-1 ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

d2c1dc2a2cef1213-helloworld:v1 "startWebLogic.sh" 7 minutes ago Up 7 minutes k8s_weblogichelloworld.9efb3a79_helloworld-service-vfd10_default_6162d68a-9da9-11e7-b746-08002797edef_026d2cc4

85e04042041a registry.access.redhat.com/rhel7/pod-infrastructure:latest "/pod" 7 minutes ago Up 7 minutes k8s_POD.15c40ba1_helloworld-service-vfd10_default_6162d68a-9da9-11e7-b746-08002797edef_b59984a7

96acfd65eb3a registry"/entrypoint.sh /etc/" 23 minutes ago Up 23 minutes k8s_registry.71ab5625_registry-7nj8q_default_19ab0b7f-9cff-11e7-bf9d-08002797edef_fb5ae620

63652932256c registry.access.redhat.com/rhel7/pod-infrastructure:latest "/pod" 23 minutes ago Up 23 minutes k8s_POD.100f0b9e_registry-7nj8q_default_19ab0b7f-9cff-11e7-bf9d-08002797edef_98dd7f3f

1ed61c53625f gcr.io/google_containers/etcd-amd64:2.2.1 "/usr/local/bin/etcd" 47 minutes ago Up 47 minutes k8s_etcd.bb974d90_kube-dns-v11-x0vr3_kube-system_5dd26461-3ef1-11e7-acf2-08002797edef_7316989c

fb8545a4aba4 gcr.io/google_containers/exechealthz:1.0 "/exechealthz '-cmd=n" 47 minutes ago Up 47 minutes k8s_healthz.525e4aad_kube-dns-v11-x0vr3_kube-system_5dd26461-3ef1-11e7-acf2-08002797edef_cec4d740

aa6c4caf3fa7 gcr.io/google_containers/skydns:2015-10-13-8c72f8c "/skydns -machines=ht" 47 minutes ago Up 47 minutes k8s_skydns.96837166_kube-dns-v11-x0vr3_kube-system_5dd26461-3ef1-11e7-acf2-08002797edef_5da89b81

5930dae5b843 registry.access.redhat.com/rhel7/pod-infrastructure:latest "/pod" 47 minutes ago Up 47 minutes k8s_POD.4efc54ff_kube-dns-v11-x0vr3_kube-system_5dd26461-3ef1-11e7-acf2-08002797edef_3e3af088

生成新的images

[root@k8s-node-1 ~]# docker commit -m "jdbc" -a "ericnie" d2c1dc2a2cef 1213-helloworld-jdbc:v1

sha256:953e124483d2bcc03b3f46c8e6d935e3746634d78942cc477e31888c8d569171

验证

修改weblogic replication control指向1213-helloworld-jdbc:v1 images,启动后看到连接建立.

weblogic端

数据库端

数据库端原来的jdbc链接

Pod完全启动后的连接

k8s访问外部mysql_Kubernetes连接外部数据源相关推荐

  1. pod访问外部mysql_pod连接外部数据库超时分析和处理方法

    1.错误日志 关键日志:Caused by: java.net.SocketTimeoutException: connect timed out The last packet sent succe ...

  2. 阿里云-默认封禁TCP 25端口出方向的访问流量,即您无法在阿里云上的云服务器通过TCP 25端口连接外部地址。

    TCP 25端口解封申请 本页目录 背景信息 操作步骤 出于安全考虑,阿里云默认封禁TCP 25端口出方向的访问流量,即您无法在阿里云上的云服务器通过TCP 25端口连接外部地址. 背景信息 TCP ...

  3. k8s部署nacos集群:3个pod、连接外部mysql读写分离集群

    部署mysql nacos连接外部mysql sts 使用mysql-0.mysql.dmgeo-lib.svc.cluster.local进行连接,同一ns下可以省略后面的. 需要先初始化数据:创建 ...

  4. SAP连接外部ORACLE数据库

    SAP连接外部ORACLE数据库  1.先在SAP底层ORACLE数据库编辑TNS文件,一般由BASIS配置完成.配置完成后我们可以用事务码:AL11查看配置是否正确,路径:DIR_ORAHOME-& ...

  5. ovn 通过分布式网关端口连接外部网络

    本文实验如何通过ovn的分布式网关端口将ovn网络连接到外部网络. 分布式网关端口是一个逻辑路由器端口,只不过它需要绑定到指定节点上(一个或者多个节点).注意和网关路由器的区别,网关路由器是绑定到指定 ...

  6. 外部系统连接SFDC,获取SFDC侧的数据

    目录 ■1.前言 ■2.操作 1.建立连接 2.取得数据 2.1.设定Head情报 2.2.发送请求(使用GET方式发送请求,不然会返回 405 ) ■相关知识 0.对于URL和URI的理解 1.对于 ...

  7. Redis本地/远程(外部)连接失败详解

    目录 问题现象: 问题分析: 1.报错信息: 2.知识点分析: 2.1Redis 的配置文件的区别: 我猜想:redis-server.exe 启动 Redis 时是使用"redis.win ...

  8. oracle连接外部数据库_使用Oracle验证外部数据

    oracle连接外部数据库 我经常在Corda Slack频道中闲逛,并尽可能回答问题. 我尝试回答的合理数量的问题与Oracle有关. 更具体地说,何时使用. 我觉得我可以回答,"当您需要 ...

  9. ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

    ROS中阶笔记(一):机器人系统设计-ROS系统下连接外部传感器 文章目录 01 连接摄像头 1.1 ROS下连接usb_cam 1.1.1 前期准备 1.1.2 问题 1.1.3 安装usb_cam ...

最新文章

  1. 【日常分享1】三步,有效去除网页广告,完美过滤视频广告
  2. Git SSH Key生成,配置到GitHub 并测试
  3. RPC远程过程调用之 RMI实现
  4. java c 性能比较_java 中ArrayList与LinkedList性能比较
  5. python人脸识别程序如何嵌入到app_只用Python就能写安卓,简单几步实现人脸识别的App...
  6. 超大规模数据集类的创建
  7. python 截取字符串6位,python按照指定字符或者长度 截取字符串
  8. 内卷太厉害怎么办?多读好书破万“卷”
  9. pyinstaller库的使用——将Python语言脚本打包成可执行文件的第三方库
  10. python抖音表白软件手机版,我喜欢你 抖音表白程序python版
  11. 操作系统课程设计报告(文件系统)
  12. 心情日记:【原创诗歌】怆情吟
  13. facebook应用中_如何从Facebook应用程序的快捷方式栏中删除图标
  14. 使用高德地图自定义marker、infowindow
  15. 【区块链论文整理】SIGMOD篇(三)
  16. 多节点OpenStack Charms 部署指南0.0.1.dev--41--配置openstack-base-73作为juju管理的openstack云
  17. 机壳地与数字地_模拟地的关系
  18. IEEE论文参考文献格式
  19. ArcGIS趋势面分析
  20. 计算机语言面肥书籍,历年高考鉴赏诗歌语言真题汇编(教师版)

热门文章

  1. 海思android随笔之工厂菜单PQ acm color调用流程
  2. Python数据分析pandas入门(一)------十分钟入门pandas
  3. 浙江财经大学第十四届程序设计竞赛命题感想
  4. 腾讯电脑管家新版 —— 权限雷达 二次体验报告
  5. 人脸识别(四)视频中的人物识别
  6. 网易云IM Flutter版本来啦,需要的拿去用。
  7. Fractions to Decimals
  8. 【2020-07】字节跳动面试凉经(年轻人的第一场 技术面试)
  9. Normal模式下ASM中的空间参数解析
  10. TP开发的源码或素材付费下载站网站源码+整体不错