设为首页 收藏本站
查看: 728|回复: 0

[经验分享] Kubernetes连接外部数据源

[复制链接]

尚未签到

发表于 2018-1-4 17:25:00 | 显示全部楼层 |阅读模式
  Kubernetes架构下比较核心的问题是数据如何persistance,虽然提供了Persistent volumn的方式,但是对于像数据库之类的产品在kubernetes集群环境中运行和管理还是很有难度的,Kubernetes提供了endpoints这种模式让外部的服务映射成内部的服务,这样比较好的解决了集群对外的连接问题,
  如果我们去连接外部的一个oracle数据库,具体的步骤如下:


  • 建立endpoints和service.
  

[iyunv@k8s-master jdbcservice]# cat jdbc-endpoint.yaml  
apiVersion: v1
  
kind: Endpoints
  
metadata:
  name: jdbc
  
subsets:
- addresses:- ip: 10.182.168.244  ports:
- port: 1521  protocol: TCP
  

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

[iyunv@k8s-master jdbcservice]# cat jdbcservice.yaml  
apiVersion: v1
  
kind: Service
  
metadata:
  name: jdbc
  
spec:
  clusterIP:
10.254.150.201  ports:
- port: 1521  targetPort:
1521  protocol: TCP
  

  需要注意的是,service和endpoints的名字要相同,另外如果delete了service.再重新建立的时候要再把endpoints建立一遍。
  在这个service的表里,我们看到jdbc服务绑在了201这个地址上。
  

[iyunv@k8s-master jdbcservice]# kubectl get services  
NAME            CLUSTER
-IP       EXTERNAL-IP   PORT(S)          AGE  
helloworldsvc
10.254.43.122    <nodes>       7001:30001/TCP   12m  
jdbc
10.254.150.201   <none>        1521/TCP         30m  
kubernetes
10.254.0.1       <none>        443/TCP          121d  
registry
10.254.174.54    <nodes>       5000:30002/TCP   20h  



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

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


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

[iyunv@k8s-node-1 ~]# docker ps
  
CONTAINER>  
d2c1dc2a2cef
1213-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
  

[iyunv@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完全启动后的连接

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431594-1-1.html 上篇帖子: Kubernetes印象(by quqi99) 下篇帖子: kubernetes install for centos
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表