ARTIFACTORY:如何在使用基于Helm的安装时应用ARTIFACTORY调优参数
在某些情况下,当Artifactory上的负载很高时,需要对与数据库连接、maxThreads等相关的Artifactory执行垂直缩放。
当使用基于VM的安装时,可以直接更新系统。使用所需值的Yaml文件,如这篇知识库文章。但是,当使用基于helm的安装时,不可能编辑特定的系统。在pod内呈现Yaml。
此时,建议使用该系统。并使用自定义值。yaml文件used for deploying the Artifactory.
例子:https://github.com/jfrog/charts/blob/master/stable/artifactory/values.yaml#L71systemYamlOverride:
existingSecret: system-yaml
dataKey: system.yaml
什么是秘密?
Secret是包含敏感数据(如密码、令牌或密钥)的对象。否则,这些信息可能会放在圆荚体规格或在容器的形象。通过使用Secret,不需要在应用程序代码中包含机密数据,Secret的目的是降低在Kubernetes上部署应用程序时暴露敏感数据的风险。
如何创造秘密?
步骤1:
为了创建秘密,首先需要检查现有的系统。在Artifactory pod中使用的。
因此,执行到Artifactory pod并导航到/opt/jfrog/ Artifactory /var/etc/目录并复制系统。在pod外创建一个Yaml文件并保存它。
步骤2:
现在,我们可以使用现有的系统。yaml文件available to modify the values with the required parameters such as database maxConnections, maxThreads, extraJavaOpts to update custom runtime property.
现有system.yaml路由器:
serviceRegistry:
不安全:假
共享:
日志:
consoleLog:
启用:假
extraJavaOpts: >
-Dartifactory.access.client.max.connections = 50
数据库:
类型:postgresql
url: " jdbc: postgresql: / / jfrt-postgresql: 5432 / artifactory”
司机:org.postgresql.Driver
用户名:“artifactory”
artifactory:
数据库:
maxOpenConnections: 80
tomcat:
maintenanceConnector:
端口:8091
连接器:
maxThreads: 200
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
前端:
会话:
timeMinutes:“30”
访问:
数据库:
maxOpenConnections: 80
tomcat:
连接器:
maxThreads: 50
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
元数据:
数据库:
maxOpenConnections: 80
jfconnect:
启用:真
步骤3:
更新系统。Yaml增加了数据库连接,tomcat线程等路由器:
serviceRegistry:
不安全:假
共享:
日志:
consoleLog:
启用:假
extraJavaOpts: >
-Dartifactory.access.client.max.connections = 250
数据库:
类型:postgresql
url: " jdbc: postgresql: / / jfrt-postgresql: 5432 / artifactory”
司机:org.postgresql.Driver
用户名:“artifactory”
artifactory:
数据库:
maxOpenConnections: 300
tomcat:
maintenanceConnector:
端口:8091
连接器:
maxThreads: 1000
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
前端:
会话:
timeMinutes:“30”
访问:
数据库:
maxOpenConnections: 300
tomcat:
连接器:
maxThreads: 250
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
元数据:
数据库:
maxOpenConnections: 300
jfconnect:
启用:真
步骤4:
从更新后的系统创建一个secret。yaml文件Kubectl创建通用system-yaml——from-file ./system.yaml然后,可以通过“kubectl get secrets”命令查看秘密
步骤5:
使用值的systemYamlOverride下的秘密名称datakey。yaml文件systemYamlOverride:
existingSecret: system-yaml
dataKey: system.yaml
步骤6:
执行helm升级以使用system.yaml的更新秘密
如何更新现有的秘密?
如果系统。Yaml秘密已经在使用中,如果需要修改系统。也可以直接使用“kubectl edit secret
例子:jfirst -artifactory-0 0/1运行0 81s
请编辑下面的对象。以“#”开头的行将被忽略,
#和空文件将终止编辑。如果在保存此文件时发生错误,将会
#重新开启相关失败。
#
apiVersion: v1
数据:
系统。yaml:cm91dGVyOgogIHNlcnZpY2VSZWdpc3RyeToKICAgIGluc2VjdXJlOiBmYWxzZQpzaGFyZWQ6CiAgbG9nZ2luZzoKICAgIGNvbnNvbGVMb2c6CiAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgZXh0cmFKYXZhT3B0czogPgogICAgLURhcnRpZmFjdG9yeS5hY2Nlc3MuY2xpZW50Lm1heC5jb25uZWN0aW9ucz01MAogIGRhdGFiYXNlOgogICAgdHlwZTogcG9zdGdyZXNxbAogICAgdXJsOiAiamRiYzpwb3N0Z3Jlc3FsOi8vamZydC1wb3N0Z3Jlc3FsOjU0MzIvYXJ0aWZhY3RvcnkiCiAgICBkcml2ZXI6IG9yZy5wb3N0Z3Jlc3FsLkRyaXZlcgogICAgdXNlcm5hbWU6ICJhcnRpZmFjdG9yeSIKYXJ0aWZhY3Rvcnk6CiAgZGF0YWJhc2U6CiAgICBtYXhPcGVuQ29ubmVjdGlvbnM6IDgwCiAgdG9tY2F0OgogICAgbWFpbnRlbmFuY2VDb25uZWN0b3I6CiAgICAgIHBvcnQ6IDgwOTEKICAgIGNvbm5lY3RvcjoKICAgICAgbWF4VGhyZWFkczogMjAwCiAgICAgIHNlbmRSZWFzb25QaHJhc2U6IGZhbHNlCiAgICAgIGV4dHJhQ29uZmlnOiBhY2NlcHRDb3VudD0iMTAwIgpmcm9udGVuZDoKICBzZXNzaW9uOgogICAgdGltZU1pbnV0ZXM6ICIzMCIKYWNjZXNzOgogIGRhdGFiYXNlOgogICAgbWF4T3BlbkNvbm5lY3Rpb25zOiA4MAogIHRvbWNhdDoKICAgIGNvbm5lY3RvcjoKICAgICAgbWF4VGhyZWFkczogNTAKICAgICAgc2VuZFJlYXNvblBocmFzZTogZmFsc2UKICAgICAgZXh0cmFDb25maWc6IGFjY2VwdENvdW50PSIxMDAiCm1ldGFkYXRhOgogIGRhdGFiYXNlOgogICAgbWF4T3BlbkNvbm5lY3Rpb25zOiA4MApqZmNvbm5lY3Q6CiAgZW5hYmxlZDogdHJ1ZQo =
:秘密
元数据:
注释:
meta.helm.sh /发布名:jfrt
meta.helm.sh / release-namespace:违约
creationTimestamp:“2022 - 12 - 14 - t08:12:19z”
标签:
应用:artifactory
app.kubernetes。io /管理:
图:artifactory-107.47.12
遗产:舵
发布:jfrt
名称:jfrt-artifactory-systemyaml
名称空间:默认
resourceVersion:“31547656”
uid: cbab4b27 - 0500 - 4 - e15 9 - f6a - 171 ca11c2238
类型:不透明的
这里,在上面的示例中,dataKey.system.yaml内容是编码格式,我们需要对内容进行解码。
从上述示例解码的内容:
cm91dGVyOgogIHNlcnZpY2VSZWdpc3RyeToKICAgIGluc2VjdXJlOiBmYWxzZQpzaGFyZWQ6CiAgbG9nZ2luZzoKICAgIGNvbnNvbGVMb2c6CiAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgZXh0cmFKYXZhT3B0czogPgogICAgLURhcnRpZmFjdG9yeS5hY2Nlc3MuY2xpZW50Lm1heC5jb25uZWN0aW9ucz01MAogIGRhdGFiYXNlOgogICAgdHlwZTogcG9zdGdyZXNxbAogICAgdXJsOiAiamRiYzpwb3N0Z3Jlc3FsOi8vamZydC1wb3N0Z3Jlc3FsOjU0MzIvYXJ0aWZhY3RvcnkiCiAgICBkcml2ZXI6IG9yZy5wb3N0Z3Jlc3FsLkRyaXZlcgogICAgdXNlcm5hbWU6ICJhcnRpZmFjdG9yeSIKYXJ0aWZhY3Rvcnk6CiAgZGF0YWJhc2U6CiAgICBtYXhPcGVuQ29ubmVjdGlvbnM6IDgwCiAgdG9tY2F0OgogICAgbWFpbnRlbmFuY2VDb25uZWN0b3I6CiAgICAgIHBvcnQ6IDgwOTEKICAgIGNvbm5lY3RvcjoKICAgICAgbWF4VGhyZWFkczogMjAwCiAgICAgIHNlbmRSZWFzb25QaHJhc2U6IGZhbHNlCiAgICAgIGV4dHJhQ29uZmlnOiBhY2NlcHRDb3VudD0iMTAwIgpmcm9udGVuZDoKICBzZXNzaW9uOgogICAgdGltZU1pbnV0ZXM6ICIzMCIKYWNjZXNzOgogIGRhdGFiYXNlOgogICAgbWF4T3BlbkNvbm5lY3Rpb25zOiA4MAogIHRvbWNhdDoKICAgIGNvbm5lY3RvcjoKICAgICAgbWF4VGhyZWFkczogNTAKICAgICAgc2VuZFJlYXNvblBocmFzZTogZmFsc2UKICAgICAgZXh0cmFDb25maWc6IGFjY2VwdENvdW50PSIxMDAiCm1ldGFkYXRhOgogIGRhdGFiYXNlOgogICAgbWF4T3BlbkNvbm5lY3Rpb25zOiA4MApqZmNvbm5lY3Q6CiAgZW5hYmxlZDogdHJ1ZQo =
解码内容:
路由器:
serviceRegistry:
不安全:假
共享:
日志:
consoleLog:
启用:假
extraJavaOpts: >
-Dartifactory.access.client.max.connections = 50
数据库:
类型:postgresql
url: " jdbc: postgresql: / / jfrt-postgresql: 5432 / artifactory”
司机:org.postgresql.Driver
用户名:“artifactory”
artifactory:
数据库:
maxOpenConnections: 80
tomcat:
maintenanceConnector:
端口:8091
连接器:
maxThreads: 200
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
前端:
会话:
timeMinutes:“30”
访问:
数据库:
maxOpenConnections: 80
tomcat:
连接器:
maxThreads: 50
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
元数据:
数据库:
maxOpenConnections: 80
jfconnect:
启用:真
注意:默认情况下,秘密将使用base64格式进行编码和解码。
因此,我们可以选择使用任何外部编码/解码工具转换dataKey.system.yaml中可用的字符串。
一旦它被解码,更新系统。对Yaml文件内容进行必要的修改,然后按照上面的建议再次对Yaml文件内容进行编码。
这里,我们已经更新了系统。Yaml内容的值如下所示:路由器:
serviceRegistry:
不安全:假
共享:
日志:
consoleLog:
启用:假
extraJavaOpts: >
-Dartifactory.access.client.max.connections = 250-Dartifactory.async.corePoolSize=16
数据库:
类型:postgresql
url: " jdbc: postgresql: / / jfrt-postgresql: 5432 / artifactory”
司机:org.postgresql.Driver
用户名:“artifactory”
artifactory:
数据库:
maxOpenConnections: 300
tomcat:
maintenanceConnector:
端口:8091
连接器:
maxThreads: 1200
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
前端:
会话:
timeMinutes:“30”
访问:
数据库:
maxOpenConnections: 300
tomcat:
连接器:
maxThreads: 250
sendReasonPhrase:假
extraConfig: acceptCount = " 100 "
元数据:
数据库:
maxOpenConnections: 300
jfconnect:
启用:真
我们将上述更新后的系统YAML文件内容重新编码:cm91dGVyOgogIHNlcnZpY2VSZWdpc3RyeToKICAgIGluc2VjdXJlOiBmYWxzZQpzaGFyZWQ6CiAg
bG9nZ2luZzoKICAgIGNvbnNvbGVMb2c6CiAgICAgIGVuYWJsZWQ6IGZhbHNlCiAgZXh0cmFKYXZh
T3B0czogPgogICAgLURhcnRpZmFjdG9yeS5hY2Nlc3MuY2xpZW50Lm1heC5jb25uZWN0aW9ucz0y
NTAgLURhcnRpZmFjdG9yeS5hc3luYy5jb3JlUG9vbFNpemU9MTYKICBkYXRhYmFzZToKICAgIHR5
cGU6IHBvc3RncmVzcWwKICAgIHVybDogImpkYmM6cG9zdGdyZXNxbDovL2pmcnQtcG9zdGdyZXNx
bDo1NDMyL2FydGlmYWN0b3J5IgogICAgZHJpdmVyOiBvcmcucG9zdGdyZXNxbC5Ecml2ZXIKICAg
IHVzZXJuYW1lOiAiYXJ0aWZhY3RvcnkiCmFydGlmYWN0b3J5OgogIGRhdGFiYXNlOgogICAgbWF4
T3BlbkNvbm5lY3Rpb25zOiAzMDAKICB0b21jYXQ6CiAgICBtYWludGVuYW5jZUNvbm5lY3RvcjoK
ICAgICAgcG9ydDogODA5MQogICAgY29ubmVjdG9yOgogICAgICBtYXhUaHJlYWRzOiAxMjAwCiAg
ICAgIHNlbmRSZWFzb25QaHJhc2U6IGZhbHNlCiAgICAgIGV4dHJhQ29uZmlnOiBhY2NlcHRDb3Vu
dD0iMTAwIgpmcm9udGVuZDoKICBzZXNzaW9uOgogICAgdGltZU1pbnV0ZXM6ICIzMCIKYWNjZXNz
OgogIGRhdGFiYXNlOgogICAgbWF4T3BlbkNvbm5lY3Rpb25zOiAzMDAKICB0b21jYXQ6CiAgICBj
b25uZWN0b3I6CiAgICAgIG1heFRocmVhZHM6IDI1MAogICAgICBzZW5kUmVhc29uUGhyYXNlOiBm
YWxzZQogICAgICBleHRyYUNvbmZpZzogYWNjZXB0Q291bnQ9IjEwMCIKbWV0YWRhdGE6CiAgZGF0
YWJhc2U6CiAgICBtYXhPcGVuQ29ubmVjdGlvbnM6IDMwMApqZmNvbm5lY3Q6CiAgZW5hYmxlZDog
dHJ1ZQo =
下一步,编辑密钥(kubectl edit secret
最后,重新启动Artifactory pods以使更改生效。