Kubernetes连接外部数据源
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.244
ports:
- port:
protocol: TCP
为了方便,我们固定了service的集群地址
[root@k8s-master jdbcservice]# cat jdbcservice.yaml
apiVersion: v1
kind: Service
metadata:
name: jdbc
spec:
clusterIP: 10.254.150.201
ports:
- port:
targetPort:
protocol: TCP
需要注意的是,service和endpoints的名字要相同,另外如果delete了service.再重新建立的时候要再把endpoints建立一遍。
在这个service的表里,我们看到jdbc服务绑在了201这个地址上。
[root@k8s-master jdbcservice]# kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
helloworldsvc 10.254.43.122 <nodes> :/TCP 12m
jdbc 10.254.150.201 <none> /TCP 30m
kubernetes 10.254.0.1 <none> /TCP 121d
registry 10.254.174.54 <nodes> :/TCP 20h
- images的配置
然后对我们的weblogic images进行jdbc的配置。
点击Test Configuration,如果测试不过,weblogic不允许建立连接池成功.
在运行pod的节点上运行docker ps找到启动image的容器id.
[root@k8s-node- ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d2c1dc2a2cef -helloworld:v1 "startWebLogic.sh" minutes ago Up minutes k8s_weblogichelloworld.9efb3a79_helloworld-service-vfd10_default_6162d68a-9da9-11e7-b746-08002797edef_026d2cc4
85e04042041a registry.access.redhat.com/rhel7/pod-infrastructure:latest "/pod" minutes ago Up minutes k8s_POD.15c40ba1_helloworld-service-vfd10_default_6162d68a-9da9-11e7-b746-08002797edef_b59984a7
96acfd65eb3a registry "/entrypoint.sh /etc/" minutes ago Up minutes k8s_registry.71ab5625_registry-7nj8q_default_19ab0b7f-9cff-11e7-bf9d-08002797edef_fb5ae620
63652932256c registry.access.redhat.com/rhel7/pod-infrastructure:latest "/pod" minutes ago Up minutes k8s_POD.100f0b9e_registry-7nj8q_default_19ab0b7f-9cff-11e7-bf9d-08002797edef_98dd7f3f
1ed61c53625f gcr.io/google_containers/etcd-amd64:2.2. "/usr/local/bin/etcd " minutes ago Up 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" minutes ago Up minutes k8s_healthz.525e4aad_kube-dns-v11-x0vr3_kube-system_5dd26461-3ef1-11e7-acf2-08002797edef_cec4d740
aa6c4caf3fa7 gcr.io/google_containers/skydns:---8c72f8c "/skydns -machines=ht" minutes ago Up 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" minutes ago Up minutes k8s_POD.4efc54ff_kube-dns-v11-x0vr3_kube-system_5dd26461-3ef1-11e7-acf2-08002797edef_3e3af088
生成新的images
[root@k8s-node- ~]# docker commit -m "jdbc" -a "ericnie" d2c1dc2a2cef -helloworld-jdbc:v1
sha256:953e124483d2bcc03b3f46c8e6d935e3746634d78942cc477e31888c8d569171
- 验证
修改weblogic replication control指向1213-helloworld-jdbc:v1 images,启动后看到连接建立.
weblogic端
数据库端
数据库端原来的jdbc链接
Pod完全启动后的连接
Kubernetes连接外部数据源的更多相关文章
- Kubernetes使用Eedpoints连接外部服务端口
Kubernetes使用Eedpoints连接外部服务端口 背景: 在Kubernetes的使用环境中,我们经常要连接外部的一些服务,比如mysql Elasticsearch kafka 等等外部的 ...
- 实时更新Excel文档外部数据源的数据
实时更新Excel文档外部数据源的数据 单元格区域.Excel 表.数据透视表或数据透视图均可以连接到外部数据源(数据源:用于连接数据库的一组存储的"源"信息.数据源包含数据库服务 ...
- Oracle连接odbc数据源
Oracle连接odbc数据源 说明 oracle连接ODBC数据源有两种方式,hsodbc和dg4odbc,简单说dg4odbc是hsodbc的升级.两种连接方法大致一样,现将连接步骤说明如下: 检 ...
- Hyper-V 虚拟机连接外部网络
Hyper-V创建好虚拟机之后,在默认配置下是没有网络连接的,这个时候就需要进行简单的配置,即可让虚拟机连接外部网络: 在Hyper-V管理器中,右键点击后出现菜单,选择"虚拟交换机管理器& ...
- 【转载】Spark SQL之External DataSource外部数据源
http://blog.csdn.net/oopsoom/article/details/42061077 一.Spark SQL External DataSource简介 随着Spark1.2的发 ...
- PhpStorm常用快捷键以及如何连接外部服务器
PhpStorm常用快捷键以及如何连接外部服务器 PhpStorm作为我们phper使用的一款IDE,其功能是非常强大的,现在记录下常用的快捷键以及如何使用它与外部服务器进行连接使用. 一.Keyma ...
- 第十一篇:Spark SQL 源码分析之 External DataSource外部数据源
上周Spark1.2刚发布,周末在家没事,把这个特性给了解一下,顺便分析下源码,看一看这个特性是如何设计及实现的. /** Spark SQL源码分析系列文章*/ (Ps: External Data ...
- Spark SQL之External DataSource外部数据源(二)源代码分析
上周Spark1.2刚公布,周末在家没事,把这个特性给了解一下,顺便分析下源代码,看一看这个特性是怎样设计及实现的. /** Spark SQL源代码分析系列文章*/ (Ps: External Da ...
- Jedis连接外部Redis
Jedis连接外部Redis 1.在服务器开放端口redis默认6379,如果有宝塔面板则还需要在宝塔放行6379端口 2.修改redis.conf 注释掉 绑定IP 127.0.0.1 # bind ...
随机推荐
- RabbitMQ消息队列(一): 简单队列
1. 示例选用python的pika模块进行测试,需要预先安装pika模块: https://pypi.python.org/pypi/pika/0.10.0#downloads 上述地址下载源码,加 ...
- springmvc JSR303 Validate 注解式,校验数据
参考:http://www.cnblogs.com/liukemng/category/578644.html 先进行配置: <!-- 默认的注解映射的支持 --> <mvc:ann ...
- [ python3 ] 基于zabbix 自动抓取每天监控数据
通过python登录到zabbix直接抓取每天的数据的图片趋势图,并制作成静态index.html给与展示并发送提示邮件. 操作系统:Centos6.7 python版本:python3.5 #!/u ...
- django一对多、多对多模型、自关联的建立
# 原创,转载请留言联系 一对多模型 一对多的关系,例如员工跟部门.一个部门有多个员工.那么在django怎么建立这种表关系呢? 其实就是利用外键,在多的一方,字段指定外键即可.例如员工和部门,员工是 ...
- 使用rosbag记录openni2_launch消息
首先看教程 http://wiki.ros.org/openni_launch/Tutorials/BagRecordingPlayback http://wiki.ros.org/Bags http ...
- Windows终端屏幕显示库Public Domain Curses(PDCurses)使用
由于Windows没有可用的ncurses库,所以就用PDCurses代替 先放链接 https://sourceforge.net/projects/pdcurses/,下载最新版本 但是我不会编译 ...
- [转载]数据层的多租户浅谈(SAAS多租户数据库设计)
原文:http://www.ibm.com/developerworks/cn/java/j-lo-dataMultitenant/index.html 在上一篇“浅析多租户在 Java 平台和某些 ...
- redis的持久化(RDB&AOF的区别)
RDB 是什么? 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里. Redis会单独创建(fork)一个子进程来进行持久化,会 ...
- NAT+穿洞基础知识梳理
参考:https://www.cnblogs.com/shilxfly/p/6589255.html https://blog.csdn.net/phoenix06/article/details/7 ...
- 使用moneykey对APP进行健壮性测试
注意:moneykey对app按钮伪随机点击,只能测试app稳定性和健壮性,无法进行常规测试 1.安装 A.jdk(不详细介绍) B.安装配置android配置环境:Android Studio 此环 ...