Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 2.85 KB

README-zh.md

File metadata and controls

49 lines (40 loc) · 2.85 KB

joylive-injector

GitHub repo GitHub release Slack Status

pic

English | 简体中文

介绍

这是一个针对kubernetes的动态准入控制webhook,它可以用于修改kubernete资源。 此程序监视deployments的CREATE、UPDATE、DELETE事件和pods的CREATE事件,并为POD添加initContainer、默认增加环境变量JAVA_TOOL_OPTIONS、挂载configmap、修改主容器的卷装载等操作。

特性

  • 支持自动将joylive-agent注入Java应用的Pod。
  • 支持多版本joylive-agent与对应配置管理。
  • 支持注入指定版本joylive-agent及对应配置。

使用方式

完全模式

  • 在要部署的环境中安装 CFSSL(用于签名,验证和捆绑TLS证书的HTTP API工具)
    wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
    wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
    wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 
    mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo 
    mv cfssl_linux-amd64 /usr/local/bin/cfssl
    mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
    chmod +x /usr/local/bin/cfssl-certinfo /usr/local/bin/cfssl /usr/local/bin/cfssljson
  • 拷贝deploy目录下的cfssljoylive-injector到要部署的环境
  • cfssl/dac-csr.json中的namespace目前填写的是joylive,需要根据实际情况修改
  • 执行joylive-injector/deploy/cfssl目录下的create-secret.sh脚本生成secret,若joylive-injector包与cfssl在同一目录下,可自动替换caBundle, caKeyBundlecaPubBundle字段的值
  • caBundlecaKeyBundlecaPubBundle的值未替换,需要手动替换chart包中的value.yaml中的caBundlecaKeyBundlecaPubBundle字段得值,使用cat dac-ca.pem | base64 | tr -d '\n' 作为 caBundle, cat dac-key.pem | base64 | tr -d '\n' 作为 caKeyBundle, cat dac.pem | base64 | tr -d '\n' 作为 caPubBundle 生成的内容替换
  • 执行helm install joylive-injector ./joylive-injector -n joylive安装webhook
  • chart包中的value.yaml中配置按需修改

简单模式

因证书签名已按照命名空间为joylive预生成,所以须指定安装到对应命名空间。 执行命令:

helm repo add joylive https://jd-opensource.github.io/joylive-helm-charts
kubectl create namespace joylive
helm install joylive-injector joylive/joylive-injector -n joylive

成员

感谢各位贡献者!名单