To access a Kubernetes cluster from a client, you can use the Kubernetes command line tool kubectl.
vi daemonSet.yaml
An example YAML file is provided as follows:
The spec.spec.containers.lifecycle field indicates the command that will be run after the container is started.
kind: DaemonSet
apiVersion: apps/v1
metadata:
name: daemonset-test
labels:
name: daemonset-test
spec:
selector:
matchLabels:
name: daemonset-test
template:
metadata:
labels:
name: daemonset-test
spec:
hostNetwork: true
containers:
- name: daemonset-test
image: nginx:alpine-perl
command:
- "/bin/sh"
args:
- "-c"
- while :; do time=$(date);done
imagePullPolicy: IfNotPresent
lifecycle:
postStart:
exec:
command:
- sysctl
- "-w"
- net.ipv4.tcp_tw_reuse=1
securityContext:
privileged: true
imagePullSecrets:
- name: default-secret
kubectl get daemonset DaemonSet name
In this example, run the following command:
kubectl get daemonset daemonset-test
Information similar to the following is displayed:
NAME DESIRED CURRENT READY UP-T0-DATE AVAILABLE NODE SELECTOR AGE daemonset-test 2 2 2 2 2 <node> 2h
docker ps -a|grep DaemonSet name
In this example, run the following command:
docker ps -a|grep daemonset-test
Information similar to the following is displayed:
897b99faa9ce 3e094d5696c1 "/bin/sh -c while..." 31 minutes ago Up 30 minutes ault_fa7cc313-4ac1-11e9-a716-fa163e0aalba_0
docker exec -it containerid /bin/sh
In this example, run the following command:
docker exec -it 897b99faa9ce /bin/sh
sysctl -a |grep net.ipv4.tcp_tw_reuse
If the following information is displayed, the system parameters are modified successfully:
net.ipv4.tcp_tw_reuse=1