English | 简体中文
This is a dynamic admission control webhook for kubernetes, it can be used to mutate kubernetes resources.
This program monitors the CREATE, UPDATE, DELETE events for deployments and the CREATE events for pods and adds the initContainer for Pod , adds the environment variable JAVA_TOOL_OPTIONS by default, mounts the configmap, modifies the volume load for the main container, and so on.
- Supports automatically injecting
joylive-agentinto Pods of Java applications. - Supports multi-version
joylive-agentand corresponding configuration management. - Support injection of specified version
joylive-agentand corresponding configuration.
- Install CFSSL (HTTP API tool for signing, verifying, and bundling TLS certificates) in the environment to be deployed
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
- Copy
cfsslandjoylive webhookfrom the deploy directory to the environment to be deployed - The namespace in
cfssl/dac-csr.jsonis currently filled in asjoyliveand needs to be modified according to the actual situation - Execute the
create-secret.shscript in thejoylive-injector/deploy/cfssldirectory to generate a secret. If thejoylive-injectorpackage is in the same directory ascfssl, it can automatically replace the value of thecaBundle,caKeyBundleandcaPubBundlefield - If the value of
caBundle,caKeyBundleandcaPubBundleare not replaced, it is necessary to manually replace the value of thecaBundle,caKeyBundleandcaPubBundlefield in thevalue.yamlin the chart package. Use the content generated bycat dac-ca.pem | base64 | tr -d '\n'ascaBundle,cat dac-key.pem | base64 | tr -d '\n'ascaKeyBundle,cat dac.pem | base64 | tr -d '\n'ascaPubBundleto replace them - Execute
helm install joylive-injector ./joylive-injector -n joyliveInstall webhook - Modify the configuration in the
value.yamlsection of the chart package as needed
Since the certificate signature has been pre-generated according to the namespace joylive, it is necessary to specify installation to the corresponding namespace. Execute the command:
helm repo add joylive https://jd-opensource.github.io/joylive-helm-charts
kubectl create namespace joylive
helm install joylive-injector joylive/joylive-injector -n joyliveThank you to all the contributors! Member List
