kubernetes 的wen pod 无法连接 mysql 的pod
1.分析
查看源代码 
既然无法建立连接,那先看下是如何建立连接的。登录到myweb的docker容器里面,查看index.jsp文件,主要内容如下:
Class.forName("com.mysql.jdbc.Driver").newInstance();
try{
      Class.forName("com.mysql.jdbc.Driver");
       String ip=System.getenv("MYSQL_SERVICE_HOST");
       String port=System.getenv("MYSQL_SERVICE_PORT");
       ip=(ip==null)?"localhost":ip;
       port=(port==null)?"3306":port;
      System.out.println("Connecting to database...");
System.out.println("jdbc:mysql://"+ip+":"+port+"?useUnicode=true&characterEncoding=UTF-8");
      conn = java.sql.DriverManager.getConnection("jdbc:mysql://"+ip+":"+port+"?useUnicode=true&characterEncoding=UTF-8", "root","123456");
stmt = conn.createStatement();
就是用jsp创建了一个连接,连接的地址通过ENV方式注入。即在myweb-rc.yaml中配置的MYSQL_SERVICE_HOST和MYSQL_SERVICE_PORT环境变量指定。 
登陆myweb应用查看这两个环境变量是否有问题:
[root@localhost ~]# kubectl exec -ti myweb-cp4gm -- /bin/bash
root@myweb-cp4gm:/usr/local/tomcat# echo $MYSQL_SERVICE_HOST
10.254.15.45
root@myweb-cp4gm:/usr/local/tomcat# echo $MYSQL_SERVICE_PORT
3306
可以看出环境变量也是没有问题的。
解决方法
考虑到可能是mysql版本的问题,修改mysql版本为5.7,并且设置来直接使用本地镜像。
https://blog.csdn.net/yinanmo5569/article/details/81352578
kubernetes 的wen pod 无法连接 mysql 的pod的更多相关文章
- Kubernetes学习之路(十一)之Pod状态和生命周期管理
		一.什么是Pod? Pod是kubernetes中你可以创建和部署的最小也是最简的单位.一个Pod代表着集群中运行的一个进程. Pod中封装着应用的容器(有的情况下是好几个容器),存储.独立的网络IP ... 
- Percona Toolkit工具连接MySQL 8报错的解决方案
		使用Percona Toolkit的工具连接MySQL 8.x数据库时,会遇到类似"failed: Plugin caching_sha2_password could not be loa ... 
- Kubernetes 实战 —— 05. 服务:让客户端发现 pod 并与之通信(下)
		将服务暴露给外部客户端 P136 有以下三种方式可以在外部访问服务: 将服务的类型设置成 NodePort 将服务的类型设置为 LoadBalance 创建一个 Ingress 资源 使用 NodeP ... 
- nodejs进阶(6)—连接MySQL数据库
		1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ... 
- 【初学python】使用python连接mysql数据查询结果并显示
		因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ... 
- Node.js Express连接mysql完整的登陆注册系统(windows)
		windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ... 
- PDO连接mysql数据库
		1.PDO简介 PDO(PHP Data Object) 是PHP 5 中加入的东西,是PHP 5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接 ... 
- 使用ABP EntityFramework连接MySQL数据库
		ASP.NET Boilerplate(简称ABP)是在.Net平台下一个很流行的DDD框架,该框架已经为我们提供了大量的函数,非常方便与搭建企业应用. 关于这个框架的介绍我就不多说,有兴趣的可以参见 ... 
- jmeter之连接mysql和SQL Server配置
		下载jdbc驱动 在使用jmeter做性能或自动化测试的时候,往往需要直接对数据库施加压力,或者某些参数只能从数据库获取,这时候就必须使用jmeter连接数据库. 1.下载对应的驱动包 mysql驱动 ... 
随机推荐
- Hadoop Mapreduce 参数 (一)
			参考 hadoop权威指南 第六章,6.4节 背景 hadoop,mapreduce就如MVC,spring一样现在已经是烂大街了,虽然用过,但是说看过源码么,没有,调过参数么?调过,调到刚好能跑起来 ... 
- 深入理解CSS3 gradient斜向线性渐变——张鑫旭
			by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3639 一.问题没有想 ... 
- 第二十七天- 网络通信协议 TCP UDP 缓冲区
			1.网络通信协议 osi七层模型:按照分工不同把互联网协议从逻辑上划分了层级 socket层 2.理解socket: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计 ... 
- longing加载中实例
			利用图片播放 <div class="wrap" id="wrap" style="position: inherit; height: 604 ... 
- python学习笔记之——操作mysql数据库
			Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ... 
- 检测到在集成的托管管道模式下不适用的ASP.NET设置
			解决方法是修改web.config如下: <system.webServer> <validation validateIntegratedModeConfiguration=&qu ... 
- 【疑难杂症04】EOFException异常详解
			最近线上的系统被检测出有错误日志,领导让我检查下问题,我就顺便了解了下这个异常. 了解一个类,当然是先去看他的API,EOFException的API如下: 通过这个API,我们可以得出以下信息: 这 ... 
- FAST特征点检测算法
			一 原始方法 简介 在局部特征点检测快速发展的时候,人们对于特征的认识也越来越深入,近几年来许多学者提出了许许多多的特征检测算法及其改进算法,在众多的特征提取算法中,不乏涌现出佼佼者. 从最早期的Mo ... 
- .NET Dispose模式的实现
			以下是代码: /// <summary> /// Dispose Pattern /// </summary> /// <remarks> /// 由逻辑可知: / ... 
- continue break exit用法说明
			1,continue用法 2,break用法 3,sys.exit用法 1,continue用法(跳出本次循环,继续下次循环) for i in xrange(10): if i == 8: cont ... 
