• Kubernetes Submit Queue's avatar
    Merge pull request #40007 from JulienBalestra/rktnetes-systemd-ops-helpers · 17175b24
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 41812, 41665, 40007, 41281, 41771)
    
    Kubelet-rkt: Add useful informations for Ops on the Kubelet Host
    
    Create a Systemd SyslogIdentifier inside the [Service]
    Create a Systemd Description inside the [Unit]
    
    **What this PR does / why we need it**:
    
    #### Overview
    Logged against the host, it's difficult to identify who's who.
    This PR add useful information to quickly get straight to the point with the **DESCRIPTION** field:
    
    ```
    systemctl list-units "k8s*"
    UNIT                                             LOAD   ACTIVE SUB     DESCRIPTION
    k8s_b5a9bdf7-e396-4989-8df0-30a5fda7f94c.service loaded active running kube-controller-manager-172.20.0.206
    k8s_bec0d8a1-dc15-4b47-a850-e09cf098646a.service loaded active running nginx-daemonset-gxm4s
    k8s_d2981e9c-2845-4aa2-a0de-46e828f0c91b.service loaded active running kube-apiserver-172.20.0.206
    k8s_fde4b0ab-87f8-4fd1-b5d2-3154918f6c89.service loaded active running kube-scheduler-172.20.0.206
    
    ```
    
    #### Overview and Journal
    
    Always on the host, to easily retrieve the pods logs, this PR add a SyslogIdentifier named as the PodBaseName.
    
    
    ```
    # A DaemonSet prometheus-node-exporter is running on the Kubernetes Cluster
    systemctl list-units "k8s*" | grep prometheus-node-exporter
    k8s_c60a4b1a-387d-4fce-afa1-642d6f5716c1.service loaded active running prometheus-node-exporter-85cpp
    
    # Get the logs from the prometheus-node-exporter DaemonSet 
    journalctl -t prometheus-node-exporter | wc -l
    278
    ```
    
    Sadly the `journalctl` flag `-t` / `--identifier` doesn't allow a pattern to catch the logs.
    
    Also this field improve any queries made by any tools who exports the Journal (E.g: ES, Kibana):
    ```
    {
    	"__CURSOR" : "s=86fd390d123b47af89bb15f41feb9863;i=164b2c27;b=7709deb3400841009e0acc2fec1ebe0e;m=1fe822ca4;t=54635e6a62285;x=b2d321019d70f36f",
    	"__REALTIME_TIMESTAMP" : "1484572200411781",
    	"__MONOTONIC_TIMESTAMP" : "8564911268",
    	"_BOOT_ID" : "7709deb3400841009e0acc2fec1ebe0e",
    	"PRIORITY" : "6",
    	"_UID" : "0",
    	"_GID" : "0",
    	"_SYSTEMD_SLICE" : "system.slice",
    	"_SELINUX_CONTEXT" : "system_u:system_r:kernel_t:s0",
    	"_MACHINE_ID" : "7bbb4401667243da81671e23fd8a2246",
    	"_HOSTNAME" : "Kubelet-Host",
    	"_TRANSPORT" : "stdout",
    	"SYSLOG_FACILITY" : "3",
    	"_COMM" : "ld-linux-x86-64",
    	"_CAP_EFFECTIVE" : "3fffffffff",
    	"SYSLOG_IDENTIFIER" : "prometheus-node-exporter",
    	"_PID" : "88827",
    	"_EXE" : "/var/lib/rkt/pods/run/c60a4b1a-387d-4fce-afa1-642d6f5716c1/stage1/rootfs/usr/lib64/ld-2.21.so",
    	"_CMDLINE" : "stage1/rootfs/usr/lib/ld-linux-x86-64.so.2 stage1/rootfs/usr/bin/systemd-nspawn [....]",
    	"_SYSTEMD_CGROUP" : "/system.slice/k8s_c60a4b1a-387d-4fce-afa1-642d6f5716c1.service",
    	"_SYSTEMD_UNIT" : "k8s_c60a4b1a-387d-4fce-afa1-642d6f5716c1.service",
    	"MESSAGE" : "[ 8564.909237] prometheus-node-exporter[115]: time=\"2017-01-16T13:10:00Z\" level=info msg=\" - time\" source=\"node_exporter.go:157\""
    }
    ```
    17175b24
Name
Last commit
Last update
..
api Loading commit data...
cadvisor Loading commit data...
certificate Loading commit data...
client Loading commit data...
cm Loading commit data...
config Loading commit data...
container Loading commit data...
custommetrics Loading commit data...
dockershim Loading commit data...
dockertools Loading commit data...
envvars Loading commit data...
events Loading commit data...
eviction Loading commit data...
images Loading commit data...
kuberuntime Loading commit data...
leaky Loading commit data...
lifecycle Loading commit data...
metrics Loading commit data...
network Loading commit data...
pleg Loading commit data...
pod Loading commit data...
prober Loading commit data...
qos Loading commit data...
remote Loading commit data...
rkt Loading commit data...
rktshim Loading commit data...
secret Loading commit data...
server Loading commit data...
status Loading commit data...
sysctl Loading commit data...
types Loading commit data...
util Loading commit data...
volumemanager Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
active_deadline.go Loading commit data...
active_deadline_test.go Loading commit data...
disk_manager.go Loading commit data...
disk_manager_test.go Loading commit data...
doc.go Loading commit data...
kubelet.go Loading commit data...
kubelet_cadvisor.go Loading commit data...
kubelet_cadvisor_test.go Loading commit data...
kubelet_getters.go Loading commit data...
kubelet_getters_test.go Loading commit data...
kubelet_network.go Loading commit data...
kubelet_network_test.go Loading commit data...
kubelet_node_status.go Loading commit data...
kubelet_node_status_test.go Loading commit data...
kubelet_pods.go Loading commit data...
kubelet_pods_test.go Loading commit data...
kubelet_pods_windows_test.go Loading commit data...
kubelet_resources.go Loading commit data...
kubelet_resources_test.go Loading commit data...
kubelet_test.go Loading commit data...
kubelet_volumes.go Loading commit data...
kubelet_volumes_test.go Loading commit data...
networks.go Loading commit data...
oom_watcher.go Loading commit data...
oom_watcher_test.go Loading commit data...
pod_container_deletor.go Loading commit data...
pod_container_deletor_test.go Loading commit data...
pod_workers.go Loading commit data...
pod_workers_test.go Loading commit data...
reason_cache.go Loading commit data...
reason_cache_test.go Loading commit data...
runonce.go Loading commit data...
runonce_test.go Loading commit data...
runtime.go Loading commit data...
util.go Loading commit data...
volume_host.go Loading commit data...