Los registros de todos los componentes de NCP se pueden redireccionar con este método. Es necesario que se configuren las aplicaciones de forma que se registren en stderr, que está habilitado de forma predeterminada. El siguiente procedimiento asume que la imagen del agente syslog es ejemplo/rsyslog.
Procedimiento
- Cree el archivo de yaml de DaemonSet. Por ejemplo,
apiVersion: v1
kind: ConfigMap
metadata:
name: rsyslog-config
labels:
version: v1
data:
nsx-ncp.conf: |
module(load="imfile")
ruleset(name="remote") {
if $msg contains 'nsx-container' then
action(type="omfwd"
Protocol="tcp"
Target="nsx.example.com"
Port="514")
stop
}
input(type="imfile"
File="/var/log/containers/nsx-node-agent-*.log"
Tag="nsx-node-agent"
Ruleset="remote")
input(type="imfile"
File="/var/log/containers/nsx-ncp-*.log"
Tag="nsx-ncp"
Ruleset="remote")
input(type="imfile"
File="/var/log/syslog"
Tag="nsx-cni"
Ruleset="remote")
---
# rsyslog DaemonSet
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: rsyslog
labels:
component: rsyslog
version: v1
spec:
template:
metadata:
labels:
component: rsyslog
version: v1
spec:
hostNetwork: true
containers:
- name: rsyslog
image: example/rsyslog
imagePullPolicy: IfNotPresent
volumeMounts:
- name: rsyslog-config-volume
mountPath: /etc/rsyslog.d
- name: log-volume
mountPath: /var/log
- name: container-volume
mountPath: /var/lib/docker/containers
volumes:
- name: rsyslog-config-volume
configMap:
name: rsyslog-config
- name: log-volume
hostPath:
path: /var/log
- name: container-volume
hostPath:
path: /var/lib/docker/containers
- Cree DaemonSet.
kubectl apply -f <daemonset yaml file>