热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

k8spodMySQL环境变量_【Kubernetes】Pod注入环境变量

环境kubernetes1.20.2SpringBoot2.5.0-M1目标在SpringBoot中,环境变量的值的优先级比配置文件中的高,所以我们给P

环境

kubernetes 1.20.2

Spring Boot 2.5.0-M1

目标

在 Spring Boot 中,环境变量的值的优先级比配置文件中的高,所以我们给 Pod 添加环境变量,

来改变 Spring Boot 值,这里以修改端口号为例,从 8080 修改到 80。

增加环境变量

rc.yaml

apiVersion: v1

kind: ReplicationController

metadata:

name: rc-demo

spec:

replicas: 3

template:

metadata:

labels:

app: myapp

spec:

containers:

- name: pod-demo

image: jiangbo920827/spring-demo:external

ports:

- containerPort: 80

env:

- name: SERVER_PORT

value: "80"

查看 Pod 状态

[root@master kubernetes]# kubectl get pods -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

rc-demo-b7r9f 1/1 Running 0 76s 10.244.1.106 node1

rc-demo-b9mqr 1/1 Running 0 76s 10.244.1.104 node1

rc-demo-r6nv8 1/1 Running 0 76s 10.244.1.105 node1

验证

访问 hostname

[root@master kubernetes]# curl 10.244.1.105/hostname

rc-demo-r6nv8 external[root@master kubernetes]#

访问数据库值

[root@master kubernetes]# curl 10.244.1.105/users

[{"name":"jiangbo","age":44}][root@master kubernetes]#

查看环境变量

[root@master kubernetes]# kubectl exec rc-demo-r6nv8 -- printenv | grep SERVER

SERVER_PORT=80

总结

通过给 Pod 注入环境变量,修改 Spring Boot 项目中的配置,来达到动态配置的目的。

附录



推荐阅读
  • k8shelm官网:https:helm.sh点击charts:https:artifacthub.iopackagessearch?sortrelevance&page11.1h ... [详细]
  • docker+k8s+git+jenkins
    docker+k8s+git+jenkins,Go语言社区,Golang程序员人脉社 ... [详细]
  • kubernetes(10):简单web应用tomcat+mysql样例
    我们测试一个web+db的项目,这种架构都是先启动MySQL再启动tomcat的,注意顺序1准备镜像1.1下载官方的测试镜像和MySQLdockerpullkubeguidetom ... [详细]
  • 这篇文章主要讲解了“Kubernetes1.21.0如何部署管理界面Dashboard2”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ... [详细]
  • k8snamespace配置cpu最大和最小限额
    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。问:如何为namespace配置最大和最小限额&#x ... [详细]
  • |NO.Z.00394|——————————|CloudNative|——|KuberNetes&CI/CD.V32|——|Jenkins.v12|自动构建NodeJs应用.v06|
    一、NodeJS自动发版###---Jenkins执行NodeJS自动发版#~~~Jenkins——Dashboard——Deploy:true——Build——END二、 ... [详细]
  • 虚拟机CentOS7挂载文件系统失败上周五下班前没有关闭虚拟机和物理机,今天周一开了虚拟机之后,发现操作系统启动失败。原因跟这篇文章描述的一模一样。解决操作系统的文件系统挂载的问题 ... [详细]
  • c3p0的三个gadget的学习
    目前c3p0有三种方式getshell加载远程类jndihex序列化字节加载器前两个可以放在一起学习,在com.mchange.v2.c3p0.impl.PoolBackedD ... [详细]
  • Kubernetes集群:命名空间(Namespace)
    一、什么是Namespace?你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻 ... [详细]
  • K8s-helm简介及基本概念详解
    ​Helm 使用的包格式称为 chart,它是一个描述 Kubernetes 相关资源对象的文件集合,这篇文章主要介绍了K8s-helm简介及基本概念,需要的朋友可以参考下 ... [详细]
  • 本文由编程笔记小编整理,主要介绍了使用Junit和黄瓜进行自动化测试中步骤缺失的问题。文章首先介绍了使用cucumber和Junit创建Runner类的代码,然后详细说明了黄瓜功能中的步骤和Steps类的实现。本文对于需要使用Junit和黄瓜进行自动化测试的开发者具有一定的参考价值。摘要长度:187字。 ... [详细]
  • 容器编排系统K8s之StatefulSet控制器
    简单讲statefulset控制器只是帮助我们在k8s上启动对应数量的pod,每个pod分配一个固定不变的名称,不管pod怎么调度,对应pod的名称是一直不变的;即便把对应pod删 ... [详细]
author-avatar
一生的牵扯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有