Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 来自kubernetes yaml原因的变量:无法解析占位符';执行机构密码';“在价值上”${U密码}";_Spring Boot_Kotlin_Spring Security_Kubernetes - Fatal编程技术网

Spring boot 来自kubernetes yaml原因的变量:无法解析占位符';执行机构密码';“在价值上”${U密码}";

Spring boot 来自kubernetes yaml原因的变量:无法解析占位符';执行机构密码';“在价值上”${U密码}";,spring-boot,kotlin,spring-security,kubernetes,Spring Boot,Kotlin,Spring Security,Kubernetes,当我从IntelliJ运行我的应用程序时,我得到一个警告/错误,尽管应用程序构建良好并运行了所有测试,但这是我应该忽略的,还是可以解决的 Kubernetes secret用于创建随机密码,因此我为该特定变量设置了占位符 2019-02-26 19:45:29.600 INFO 38918 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory f

当我从IntelliJ运行我的应用程序时,我得到一个
警告/错误
,尽管应用程序构建良好并运行了所有测试,但这是我应该忽略的,还是可以解决的

Kubernetes secret用于创建随机密码,因此我为该特定变量设置了占位符

2019-02-26 19:45:29.600  INFO 38918 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-02-26 19:45:29.684  WARN 38918 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'actuatorSecurity': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'ACTUATOR_PASSWORD' in value "${ACTUATOR_PASSWORD}"
2019-02-26 19:45:29.685  INFO 38918 --- [           main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-02-26 19:45:29.685  INFO 38918 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-02-26 19:45:29.707  INFO 38918 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2019-02-26 19:45:29.713  INFO 38918 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
qronicle部署.yaml

apiVersion: v1
kind: Secret
metadata:
  name: actuator
  namespace: {{ .Release.Namespace }}
type: Opaque
data:
  actuator-password: {{ randAlphaNum 10 | b64enc | quote }}
....
- name: ACTUATOR_PASSWORD
  valueFrom:
    secretKeyRef:
      name: actuator
      key: actuator-password
application.properties

# spring boot actuator access control
management.endpoints.web.exposure.include=*
security.user.actuator-username=admin
security.user.actuator-password=${ACTUATOR_PASSWORD}
执行器密码
在此处使用

@Configuration
@EnableWebSecurity
class ActuatorSecurity : WebSecurityConfigurerAdapter() {
    @Value("\${security.user.actuator-username}")
    private val actuatorUsername: String? = null

    @Value("\${security.user.actuator-password}")
    private val actuatorPassword: String? = null

    ....
}

通常,对于机密,您将在部署yaml之外装载它

在这里,您可以在节点将要运行的k8上下文下运行
kubectl create secret generic--from literal='


这将在那里创建一个秘密,上面的部署yaml将把它映射到一个环境变量。

这将在
应用程序.properties
文件中实现这一点

2019-02-26 19:45:29.600  INFO 38918 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-02-26 19:45:29.684  WARN 38918 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'actuatorSecurity': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'ACTUATOR_PASSWORD' in value "${ACTUATOR_PASSWORD}"
2019-02-26 19:45:29.685  INFO 38918 --- [           main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2019-02-26 19:45:29.685  INFO 38918 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2019-02-26 19:45:29.707  INFO 38918 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2019-02-26 19:45:29.713  INFO 38918 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
security.user.password=${u密码:admin123}

其中,如果未提供环境变量,则将使用
admin123