K8S_IPV6 POD与数据库联通方法以及快速网络调试的一个思路


背景

前端时间搭建了一套K8S only IPV6 Single Stack的测试环境
因为自己长时间不搞K8S了, 并且IPV6的搭建方法墙内的文档很不完整
我这边仅是搭建了一套比较基本的
K8S_calico_ingress的 单栈IPV6的环境
但是同事一直要求测试全链路的 IPV6
因为我这边没有进行pod网段和node网段的BGP网关打通, 所以实际上是无法使用的. 然后还是想到 endpoint暴露服务的方式进行简单测试. 处理和测试验证的过程如下
顺便也发现了一个可能可行的快速调试POD网络的方法

endpoint的处理

我这边其实在K8S内部暴露了很多 service, 简单如下:

[root@k8sipv6 gsclouddocker]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
gscloud-service NodePort 2001:db8:42:1::521f <none> 80:30237/TCP 5d16h
kubernetes ClusterIP 2001:db8:42:1::1 <none> 443/TCP 17d
mssql-service NodePort 2001:db8:42:1::9e71 <none> 1433:31155/TCP 2m48s
mysql-service NodePort 2001:db8:42:1::7b09 <none> 3306:30406/TCP 17d
rabbitmq-service NodePort 2001:db8:42:1::d829 <none> 5672:32027/TCP 2d22h
rabbitmqm-service NodePort 2001:db8:42:1::f774 <none> 15672:31296/TCP 2d22h
redis-service NodePort 2001:db8:42:1::9a1e <none> 6378:30410/TCP 17d

IPV6连通性验证

前景说明:
我这边采用了 opnejdk的 debian 的原始image 进行打包应用服务.
里面其实缺少很多比较关键的调试工具.
为了能够验证(堵住部分人的质疑),发现在相同版本的glibc下可以快速的进行网络和应用调试. 我这边使用docker cp的方式将 redis-cli 和 /usr/bin/telnet 放到了容器内的 /usr/bin 目录下面
然后kubectl exec -it podname bash 的方式登录镜像, 发现可以进行如下操作 注意我使用的ipv6的地址是 svc 的CLUSTER-IP: root@gscloud-deployment-5487fb6775-rxxs6:/app# redis-cli -h 2001:db8:42:1::9a1e -p 6378
[2001:db8:42:1::9a1e]:6378> auth Testxxxx
OK
[2001:db8:42:1::9a1e]:6378> info
# Server
redis_version:6.2.8
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:7abcdc1a1f1d7105
redis_mode:standalone
os:Linux 4.18.0-425.13.1.0.1.an8.x86_64 x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:c11-builtin
gcc_version:7.3.0
process_id:2813
process_supervised:no
run_id:49659597608000711068ba46f6572f6271a59ac2 然后数据库方面的验证为:
root@gscloud-deployment-5487fb6775-rxxs6:/app# telnet 2001:db8:42:1::9e71 1433
Trying 2001:db8:42:1::9e71...
Connected to 2001:db8:42:1::9e71.
Escape character is '^]'. root@gscloud-deployment-5487fb6775-rxxs6:/app# telnet 2001:db8:42:1::7b09 3306
Trying 2001:db8:42:1::7b09...
Connected to 2001:db8:42:1::7b09.
Escape character is '^]'.
J
8.0.32_"

总结

还是需要开动思路.
最小的投入后的最大的成果.
这一块验证思路还是比较简单的.
也可能为以后得工作带来很大的工作效率的提升.

K8S_IPV6 POD与数据库联通方法以及快速网络调试的一个思路的更多相关文章

  1. MySQL数据库备份与恢复方法(转)

    来源于:http://www.jb51.net/article/25686.htm 网站数据对我们对站长来说都是最宝贵的,我们平时应该养成良好的备份数据的习惯.     常有新手问我该怎么备份数据库, ...

  2. MySQL 快速复数据库的方法

    为了方便快速复制一个数据库,可以用以下命令将db1数据库的数据以及表结构复制到newdb数据库 创建新的数据库 #mysql -u root -p123456 mysql>CREATE DATA ...

  3. 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题

    基于PL/SQL的数据库备份方法 PL/SQL Developer是Oracle 数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对 ...

  4. 1   开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。   本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括:    正确的使用数据库MetaData方法    只获取需要的数据    选用最佳性能的功能    管理连

    1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你. 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的 ...

  5. 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决(转载)

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  6. 一个防止误删MSSQL数据库的方法

    一个防止误删MSSQL数据库的方法 环境:Windows2008 R2 .SQL 2012 今天发现一个有趣的现象,之前数据库服务器的其中几个数据库做过镜像,不过现在已经删除了,今天又要在那台服务器上 ...

  7. 查看mysql数据库版本方法总结

    当你接手某个mysql数据库管理时,首先你需要查看维护的mysql数据库版本:当开发人员问你mysql数据库版本时,而恰好你又遗忘了,那么此时也需要去查看mysql数据库的版本............ ...

  8. Oracle shutdown immediate无法关闭数据库解决方法

    在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...

  9. oracle数据库表空间追加数据库文件方法

    oracle数据库表空间追加数据库文件方法   针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G  第一种方式:表空间增加数据文件    www.2cto.com   1 ...

  10. 优化数据库的方法及SQL语句优化的原则

    优化数据库的方法: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert,可惜 ...

随机推荐

  1. Android对接华为AI - 文本识别

    准备工作 在开发应用前: 1.需要在AppGallery Connect中配置相关信息,包括:注册成为开发者和创建应用. 2.使用ML Kit云侧服务(端侧服务可不开通)需要开发者在AppGaller ...

  2. grafana_mysql安装

    https://dl.grafana.com/oss/release/grafana-5.4.0-1.x86_64.rpm #官网下载安装包 [root@zbx4_0 source]# rpm -iv ...

  3. DevExpress源码编译(部分翻译)

    环境准备(DevExpress v18.2 ~22.2): vs2015至2022版本 .net framework 4.7.2或更高(实际我们项目用4.5.2可以编译,并不是所有的工程都需要高版本) ...

  4. Asp .Net Core系列:对VS 2019中ASP.NET Core项目解决:The term 'Add-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name

    错误: Add-Migration : The term 'Add-Migration' is not recognized as the name of a cmdlet, function, sc ...

  5. 互联网公司五八同城(58.com)研发效能团队建设之路

    这是「二三线中型互联网公司研发效能团队规模.职能划分和优劣势分析」的一个铺垫,一个背景.因为如果不写此篇,大家可能仅得到一些经验总结,恐怕难以获取当时为啥做出那个决定.做决定要有上下文环境,要有场景才 ...

  6. 海量监控数据处理如何做,看华为云SRE案例分享

    摘要:openGemini的设计和优化都是根据时序数据特点而来,在面对海量运维监控数据处理需求时,openGemini显然更加有针对性. IT运维诞生于最早的信息化时代.在信息化时代,企业的信息化系统 ...

  7. 云图说|初识华为云数据库GaussDB(for openGauss)

    摘要:本文带你了解华为云华为云数据库GaussDB(for openGauss),将AI 技术融入分布式数据库的全生命周期,实现自运维.自管理.自调优.故障自诊断和自愈. 本文分享自华为云社区< ...

  8. App Store上架流程/苹果app发布流程

    第一步:拥有自己的苹果开发者账号: 开发账号分为两类:99美元(发布App Store用的,也就是上架苹果商店用这个):299美元(企业授信证书,不用上架appstore 亦可使用.弊端:证书容易被封 ...

  9. 火山引擎数智平台ByteHouse入围稀土掘金《Top10 年度创新产品》

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,国内开发者技术社区稀土掘金发布「2022 稀土掘金引力榜」,旨在盘点 2022 年在数字化转型领域内最具影响 ...

  10. Mac 修改文件默认打开方式

    Mac 播放 swf Flash文件 选中文件,Command+i 打开简介 不过文件图标还没变过来.重新下明天再看看