K8S_IPV6 POD与数据库联通方法以及快速网络调试的一个思路
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与数据库联通方法以及快速网络调试的一个思路的更多相关文章
- MySQL数据库备份与恢复方法(转)
来源于:http://www.jb51.net/article/25686.htm 网站数据对我们对站长来说都是最宝贵的,我们平时应该养成良好的备份数据的习惯. 常有新手问我该怎么备份数据库, ...
- MySQL 快速复数据库的方法
为了方便快速复制一个数据库,可以用以下命令将db1数据库的数据以及表结构复制到newdb数据库 创建新的数据库 #mysql -u root -p123456 mysql>CREATE DATA ...
- 基于PLSQL的数据库备份方法及如何解决导出clob和blob类型数据报错的问题
基于PL/SQL的数据库备份方法 PL/SQL Developer是Oracle 数据库中用于导入或导出数据库的主要工具,本文主要介绍了利用PL/SQL Developer导入和导出数据库的过程,并对 ...
- 1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你。 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的原则已经被许多现有的JDBC应用程序编译运行并验证过。 这些指导原则包括: 正确的使用数据库MetaData方法 只获取需要的数据 选用最佳性能的功能 管理连
1 开发一个注重性能的JDBC应用程序不是一件容易的事. 当你的代码运行很慢的时候JDBC驱动程序并不会抛出异常告诉你. 本系列的性能提示将为改善JDBC应用程序的性能介绍一些基本的指导原则,这其中的 ...
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决(转载)
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- 一个防止误删MSSQL数据库的方法
一个防止误删MSSQL数据库的方法 环境:Windows2008 R2 .SQL 2012 今天发现一个有趣的现象,之前数据库服务器的其中几个数据库做过镜像,不过现在已经删除了,今天又要在那台服务器上 ...
- 查看mysql数据库版本方法总结
当你接手某个mysql数据库管理时,首先你需要查看维护的mysql数据库版本:当开发人员问你mysql数据库版本时,而恰好你又遗忘了,那么此时也需要去查看mysql数据库的版本............ ...
- Oracle shutdown immediate无法关闭数据库解决方法
在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...
- oracle数据库表空间追加数据库文件方法
oracle数据库表空间追加数据库文件方法 针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G 第一种方式:表空间增加数据文件 www.2cto.com 1 ...
- 优化数据库的方法及SQL语句优化的原则
优化数据库的方法: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert,可惜 ...
随机推荐
- 从零玩转EasyPoi-cong-ling-wan-zhuan-easypoi
title: 从零玩转EasyPoi date: 2023-01-11 13:49:25.908 updated: 2023-03-30 13:23:20.817 url: https://www.y ...
- linux中iptables防火墙相关命令
https://www.cnblogs.com/seven1979/p/4173927.html https://blog.csdn.net/shenjianxz/article/details/62 ...
- 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 03.EQS初体验:从智障到智慧
斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本文章对应课程第十一章 43节.这篇文章会简单介绍EQS和实际上手使用,为AI添加更丰富的行为逻辑. 目录 初识 ...
- Sermant重磅更新,1.3.0 release版本发布
本文分享自华为云社区<新特性速览!Sermant重磅更新,1.3.0 release版本发布>,作者:华为云开源. Sermant社区在12月份正式发布了1.3.0 release版本,这 ...
- 【DevCloud·敏捷智库】如何利用故事点做估算
背景 在某开发团队辅导的第二天,一个团队负责人咨询道:"领导经常管我要开发计划,我如何能快速的评估出预计开发完成时间呢,我们目前用工时估算,我听说过故事点估算,不知道适合吗?" 问 ...
- 从零开始学python | 什么是Python JSON?
摘要:您知道如何从在线API传输数据或将各种数据存储到本地计算机吗?您已经将自己沉浸于JSON的一种方式中,JSON表示Java Script Object Notation.它是一种著名的流行数据格 ...
- 华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有多大?
摘要:让数据库性能UP!UP!UP!华为云GaussDB(for MySQL)是这样做的 本文分享自华为云社区<华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有 ...
- 分享两个常见的搜索算法:BFS和DFS
摘要:本文为大家分享两个常见的搜索算法:BFS和DFS. 本文分享自华为云社区<BFS和DFS算法初探>,作者: ayin. 本次分享两个常见的搜索算法: 1.BFS 即广度优先搜索 2. ...
- Solon2 开发之IoC,九、自定义注解开发汇总
1.定义构建能力注解,比如@Controller 注解类: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Docum ...
- .NET使用QuestPDF高效地生成PDF文档
前言 在.NET平台中操作生成PDF的类库有很多如常见的有iTextSharp.PDFsharp.Aspose.PDF等,今天我们分享一个用于生成PDF文档的现代开源.NET库:QuestPDF,本文 ...