Merge pull request #81300 from liyanhui1228/sd_logging

Install and start logging agent based on kube env
This commit is contained in:
Kubernetes Prow Robot 2019-09-05 13:00:58 -07:00 committed by GitHub
commit 9614a85a2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -84,6 +84,25 @@ function FetchAndImport-ModuleFromMetadata {
Import-Module -Force C:\$Filename
}
# Returns true if the ENABLE_STACKDRIVER_WINDOWS or ENABLE_NODE_LOGGING field in kube_env is true.
# $KubeEnv is a hash table containing the kube-env metadata keys+values.
# ENABLE_NODE_LOGGING is used for legacy Stackdriver Logging, and will be deprecated (always set to False)
# soon. ENABLE_STACKDRIVER_WINDOWS is added to indicate whether logging is enabled for windows nodes.
function IsLoggingEnabled {
param (
[parameter(Mandatory=$true)] [hashtable]$KubeEnv
)
if ($KubeEnv.Contains('ENABLE_STACKDRIVER_WINDOWS') -and `
($KubeEnv['ENABLE_STACKDRIVER_WINDOWS'] -eq 'true')) {
return $true
} elseif ($KubeEnv.Contains('ENABLE_NODE_LOGGING') -and `
($KubeEnv['ENABLE_NODE_LOGGING'] -eq 'true')) {
return $true
}
return $false
}
try {
# Don't use FetchAndImport-ModuleFromMetadata for common.psm1 - the common
# module includes variables and functions that any other function may depend
@ -112,9 +131,12 @@ try {
Create-Directories
Download-HelperScripts
Install-LoggingAgent
Configure-LoggingAgent
Restart-LoggingAgent
# Even if Stackdriver is already installed, the function will still [re]start the service.
if (IsLoggingEnabled $kube_env) {
Install-LoggingAgent
Configure-LoggingAgent
Restart-LoggingAgent
}
Create-DockerRegistryKey
Configure-Dockerd