使用 Secrets 密码时无法连接到 Kubernetes 中的 mysql pod(访问被拒绝)

2023-11-27

我尝试在 Kubernetes 中设置 mysql 数据库。我配置了一个 ConfigMap 来存储数据库名称和一个包含 root 密码、用户和用户密码的 Secret。

当我随后尝试连接到数据库时(在容器内使用 mysql cli,从外部使用 IntelliJ 数据库工具),我收到“错误 1045 (28000):用户‘testadm’@’localhost’访问被拒绝(使用密码:YES) )“ 错误。

我的 kubernetes.yaml 文件:

apiVersion: v1
kind: ConfigMap
metadata:
  name: db
data:
  mysql-database: database

---
apiVersion: v1
kind: Secret
metadata:
   name: db-credentials
type: Opaque
data:
  mysql-root-password: VGVzdDEyMzQK # Test1234
  mysql-user: dGVzdGFkbQo= # testadm
  mysql-password: VGVzdDEyMzQK # Test1234

---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: mysql
spec:
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers:
        - name: mysql
          image: mysql:5.7
          ports:
            - containerPort: 3306
          env:
            - name: MYSQL_DATABASE
              valueFrom:
                configMapKeyRef:
                  name: db
                  key: mysql-database
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: db-credentials
                  key: mysql-root-password
            - name: MYSQL_USER
              valueFrom:
                secretKeyRef:
                  name: db-credentials
                  key: mysql-user
            - name: MYSQL_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: db-credentials
                  key: mysql-password

如果我像下面一样直接设置密码,则连接成功容器内部和外部!

env:
  - name: MYSQL_ROOT_PASSWORD
    value: Test1234

如果我检查容器内的环境变量,我无法发现这两种方法之间的差异。

使用存储在机密中的密码是否需要任何其他格式?我还尝试将数据字典中的值放在引号中,如下所示:

data:
  mysql-root-password: "VGVzdDEyMzQK"

版本信息

Docker 17.06.0-ce
Minikube 0.21.0
Kubectl Server 1.7.0
Kubectl Client 1.7.3

您确定您的秘密 yaml 中的数据正确进行了 Base64 编码吗?使用https://www.base64encode.org/, your data块应该看起来像:

data:
  mysql-root-password: VGVzdDEyMzQ= # Test1234
  mysql-user: dGVzdGFkbQ== # testadm
  mysql-password: VGVzdDEyMzQ= # Test1234
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Secrets 密码时无法连接到 Kubernetes 中的 mysql pod(访问被拒绝) 的相关文章

  • 从 App Engine 连接到 Google Cloud SQL 时出现 ENOENT

    我正在尝试在 Google App Engine 上部署我的 Node js 应用程序 它部署得很好 但由于某种原因无法连接到 Google Cloud SQL 这是它抛出的内容 Error connect ENOENT cloudsql
  • Kubernetes Jenkins 插件 - 从属设备始终离线

    我正在尝试使用 Jenkins Kubernetes 插件与 Jenkins 协调 docker 从属服务器 我正在使用这个插件 https github com jenkinsci kubernetes plugin https gith
  • AWS Fargate 服务中的“exec 用户进程导致:exec 格式错误”

    我对 AWS 完全陌生 但我已经在本地运行我的 Docker 化应用程序几个月了 没有出现任何问题 现在 我尝试通过 AWS ECS Fargate 部署此应用程序 我的容器因以下 linux 错误而反复停止 standard init l
  • Nodemon 在 Windows Docker 环境中无法重启

    我的目标是设置一个 Docker 容器 当从主机检测到文件更改时 该容器会自动重新启动 NodeJS 服务器 我选择了 nodemon 来监视文件的更改 在 Linux 和 Mac 环境中 nodemon 和 docker 运行完美 然而
  • 如何在 Hyperledger Fabric 中将 OpenLDAP 与 Fabric-CA 结合使用?

    我想将 openldap docker 容器与 Fabric ca 一起使用 我已经在互联网上搜索了一个星期了 社区中是否有人尝试过或实施过 我不能说我自己已经完成了 但是您可以将 Fabric CA 配置为使用 LDAP 在你的里面CA服
  • R-特殊字符没有插入到mysql中

    如何使用r编程将特殊字符插入MySQL 我有一个数据框 它将从 tsv 文件读取数据 我想将这些值插入到包含 2000 行的 mysql 数据库数据框中 但它只插入 23 行 我正在使用 RODBC 库 问题在于数据中的特殊字符 样本数据
  • 数据库异常 - 一般错误:1021 磁盘已满

    谁能帮我理解为什么这个查询说光盘已满 数据库异常 SQLSTATE HY000 一般错误 1021 磁盘已满 tmp sql 1445 3 MAI 等待有人释放一些空间 错误号 28 设备上没有剩余空间 Query 这是服务器问题 只有楼主
  • Spring boot 1.5.9,访问 Docker 容器内的资源镜像时出现 404 错误

    在 Spring Boot 1 5 9 应用程序中 我想使用 Google Chrome 通过 HTTP 访问静态资源 在 Docker 中我有404 error 在嵌入式tomcat中运行良好 配置 这是Dockerfile FROM o
  • 针对 MySQL 在 Hibernate 实体中建模 UUID

    我有一个very类似的问题this one https stackoverflow com q 6522420 4009451 但是我的问题比那个问题更基本 所以我不feel就像它是一个骗子 我们会看看SO的想法 And如果这是另一个问题的
  • 从 ECS Docker 容器写入 cloudwatch 时缺少日志行

    AWS ECS 上的 Docker 容器在所有日志打印到 CloudWatch Logs 之前退出 为什么 CloudWatch Logs Group 的某些流不完整 即 Fargate Docker 容器成功退出 但日志突然停止更新 然而
  • Docker 容器中 GUI 应用程序的 X11 转发

    我目前正在尝试在 docker 容器中运行一些 GUI 应用程序 我一直在尝试那些杰西 弗雷泽尔 https github com jessfraz at github https github com jessfraz dockerfil
  • 使用Redis缓存SQL结果

    我有一个基于 SQL 的应用程序 我喜欢使用 Redis 缓存结果 您可以将该应用程序视为具有多个 SQL 表的地址簿 该应用程序执行以下任务 40 的时间 创建新记录 更新现有记录 批量更新多条记录 查看现有记录 60 的时间 根据用户的
  • 表的存储引擎不支持修复。 InnoDB 还是 MyISAM?

    修复数据库后 我收到以下错误 scode tracker ap visits note The storage engine for the table doesn t support repair scode tracker visit
  • 通过 AJAX 调用的 PHP header() 无法正常工作

    我是网络开发新手 现在我正在开发网站上的登录功能 我使用 Javascript AJAX 获取用户名和密码并将其发送到 PHP 文件以在 MYSQL 数据库上进行验证 这就是我要做的 我的问题是为什么 header 函数不能正常工作 我想在
  • Kubernetes Pod 在具有首选模式的节点之间分布

    我正在努力将我的应用程序迁移到 Kubernetes 我正在使用 EKS 我想将我的 Pod 分布到不同的节点 以避免出现单点故障 我读到pod affinity and anti affinity and required and pre
  • 对多个表进行排序 MYSQL DateStamp

    我正在构建一个简单的买卖网站 并希望在第一页上列出最新的广告 在我的数据库中有 4 个表 USERS CARS ELECTRONICS and COMPUTERS 三个项目表中的每一个 CARS ELECTRONICS and COMPUT
  • Docker 无法从其他服务连接到 redis

    我不知道如何连接到我的redis我的服务app服务 使用 Docker 版本 18 03 1 ce 为 Mac 构建 9ee9f40ocker 我尝试将我在类似问题上发现的各种方法联系起来 const client redis create
  • mySQL 和 XAMPP 端口冲突

    我已经使用 XAMPP Apache 一段时间了 最 近决定安装 MySQL 然而 它们似乎是矛盾的 MySQL 似乎优先 并且它运行正常 但是 XAMPP Apache 在尝试启动 Apache 时给我此错误消息 03 07 32 AM
  • K8s coredns 和 flannel 名称服务器超出限制[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我一直在尝试在单个节点中设置 k8s 一切都安装得很好 但是当我检查 kube system pod 的状态时 CNI gt 法兰绒吊
  • 何时何地打开数据库连接

    我正在努力实现发现的 mysql 类的使用here http www ricocheting com scripts php mysql wrapper php在现有脚本中 该脚本几乎总是需要与数据库交互 即使有时不需要 在这种情况下 最佳

随机推荐

  • 在 python 中将图像(png 和 jpg)转换为多维列表并向后转换

    我使用 PIL 将图像转换为单色 然后转换为列表列表 但我不确定如何处理 RGB 图像 有人可以指导我如何将图像转换为多维列表并向后转换 python 吗 让我们从已知的示例图像开始 这是一个实际使用的小型 3x2 尺寸和一个较大的尺寸 以
  • Azure 资源模板依赖项/Application Insights

    我在将带有 Web 应用程序的 Application Insights 部署到 Azure 时遇到先有鸡还是先有蛋的问题 在 ARM 模板中 Application Insights 模块依赖于应用程序 ID 的网站 请参阅下面的 ARM
  • 不支持带有第二个索引的 ORDER BY

    我正在使用 cassandra 2 1 和最新的 CQL 这是我的表和索引 CREATE TABLE mydata chats new id bigint adid bigint fromdemail text fromemail text
  • 寻找Java拼写检查库[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找一个开源 Jav
  • 将 Julia 数组转换为数据帧

    我有一个数组 X 我想将其转换为数据帧 根据网络的推荐 我尝试转换为数据帧并收到以下错误 julia gt y convert DataFrame x ERROR converthas no method matching convert
  • 使用gson反序列化json字符串

    我的 java servlet 以这种方式返回 json 字符串 Gson gson new Gson String lista gson toJson utenti System out println lista request set
  • Android Asynctask处理实时视频帧

    我正在使用 OpenCV 尝试进行一些实时视频处理 由于处理相当繁重 它会显着延迟输出帧 使实时流看起来不稳定 我想将一些处理卸载到 AsyncTask 中 我已经尝试过 它实际上使视频更加流畅 然而 它最终会立即启动大量任务 然后它们会慢
  • Asp.Net Core 中使用 POST 方法重定向到 URL

    我有简单的网址重写器 private static void RedirectToAPI RewriteContext context var request context HttpContext Request if request P
  • 从 MKMapView 找出您所在的区域类型

    有什么方法可以从 MKMapView 确定您所在的区域类型吗 IE 如果地图的中心位于海洋中 我们可以告诉用户 地图的中心位于海洋上方 或者如果地图的中心位于绿色区域上方 地图的中心位于公园上方 我能想到的唯一方法是创建可见屏幕的屏幕截图并
  • 如何使 Typescript 与 SystemJS 和 Angular 一起使用成为可能?

    我试图让 SystemJS 与 Typescript 一起工作 但它们似乎相互冲突 如何利用 System js 的自动加载而不与 Typescript 上的关键字冲突 使用 import require 使得 Typescript 使用它
  • 无法在 IronPython 中使用日期时间

    我将 IronPython 托管在 C Web 应用程序中 如下所示 var engine Python CreateEngine var scope engine CreateScope var script Engine CreateS
  • Composer:如何在 Symfony 2.3 中安装 `dev` 包?

    正在尝试安装KnpGaufrette捆绑包在 Symfony 2 3 项目中 我没有运气 问题是 minimum stability stable in composer json 我需要的包是dev master版本依旧 Reading
  • C# 编译器中的 Duck 类型

    Note这是not关于如何在 C 中实现或模拟鸭子类型的问题 多年来 我一直认为某些 C 语言功能依赖于语言本身定义的数据结构 对我来说 这总是像一个奇怪的先有鸡还是先有蛋的情况 例如 我的印象是foreach循环只能与实现的类型一起使用I
  • UIStackView:从 xib 加载视图并更新子视图的高度约束没有反映任何更改?

    我的应用程序中有以下层次结构 UIScrollView UIStackView UIView 1 load with xib and added in arrangedSubviews UIScrollView 1 1 horizontal
  • 获取 Tkinter Text 小部件中的总行数?

    我有一个 TkinterText小部件 我想知道它包含多少行 我知道的text cget height 方法 但是这只告诉我显示了多少行 我想知道总共有多少行 我正在使用此信息来尝试制作自己的自定义滚动条 因此我们将不胜感激 Use the
  • cx_Oracle.DatabaseError: ORA-12514: TNS:listener 当前不知道连接描述符中请求的服务

    我正在尝试对新安装的系统进行健全性测试Oracle client 12 2 in RHEL 7 linux来自Python程序 但它因上述错误而失败 不确定我在那里缺少什么 请帮忙解决这个案例 cx Oracle DatabaseError
  • Double.parseDouble 和 Integer.parseInt 之间的行为差​​异[重复]

    这个问题在这里已经有答案了 似乎 parseDouble 可以接受带有尾随空格的字符串 但 parseInt 和 parseLong 会抛出异常 例如对于这个测试用例 Test public void testNumberParsing t
  • 正则表达式搜索非常大的文件

    我需要使用正则表达式扫描 300MB 的文本文件 读取整个文件并将其放入变量中会占用超过 700MB 的 RAM 然后会失败并出现 无法分配内存 错误 匹配可以是两行或三行 所以我不能在循环中使用行到行步进 是否有任何惰性方法可以使用正则表
  • WCF maxConnections 属性

    我有一个用 net 4 编写的 WCF 服务 并通过 net tcp 公开 每当我尝试将绑定配置的 MaxConnections 属性设置为高于 10 的值时 我都会遇到 AddressAlreadyInUseException 为什么会在
  • 使用 Secrets 密码时无法连接到 Kubernetes 中的 mysql pod(访问被拒绝)

    我尝试在 Kubernetes 中设置 mysql 数据库 我配置了一个 ConfigMap 来存储数据库名称和一个包含 root 密码 用户和用户密码的 Secret 当我随后尝试连接到数据库时 在容器内使用 mysql cli 从外部使