-
Notifications
You must be signed in to change notification settings - Fork 201
systemctl running debug
zhangguanzhang edited this page Aug 14, 2020
·
8 revisions
systemctl cat kubelet,然后把ExecStart的部分复制到终端,不要看下面我的是啥你就复制我的,而是你自己的ExecStart部分
$ systemctl cat kubelet
# /usr/lib/systemd/system/kubelet.service
[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
After=docker.service
Requires=docker.service
[Service]
ExecStart=/usr/local/bin/kubelet \
--bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig \
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \
--config=/etc/kubernetes/kubelet-conf.yml \
--hostname-override=k8s-m1 \
--pod-infra-container-image=100.64.2.62:9999/pause-amd64:3.1 \
--allow-privileged=true \
--network-plugin=cni \
--cni-conf-dir=/etc/cni/net.d \
--cni-bin-dir=/opt/cni/bin \
--cert-dir=/etc/kubernetes/pki \
--logtostderr=false \
--log-dir=/var/log/kubernetes/kubelet \
--v=2
Restart=always
RestartSec=10s
[Install]
WantedBy=multi-user.target
把ExecStart
的部分复制在终端运行,去掉--logtostderr
和--log-dir
相关的不前台打印日志的选项,--v
是日志等级,1-8
官方自带的rpm包啥的kubelet的systemd有环境变量参数,自行命令行export
或者使用行内行内环境变量启动
$ /usr/local/bin/kubelet \
--bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig \
--kubeconfig=/etc/kubernetes/kubelet.kubeconfig \
--config=/etc/kubernetes/kubelet-conf.yml \
--hostname-override=k8s-m1 \
--pod-infra-container-image=100.64.2.62:9999/pause-amd64:3.1 \
--allow-privileged=true \
--network-plugin=cni \
--cni-conf-dir=/etc/cni/net.d \
--cni-bin-dir=/opt/cni/bin \
--cert-dir=/etc/kubernetes/pki \
--logtostderr=false \
--v=2
另外kubelet启动报下面错的话,请开启ipv6
docker_service.go:401] Streaming server stopped unexpectedly: listen tcp [::1]:0: bind: cannot assign requested address
开启ipv6
ansible all -m shell -a 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
sed -ri sed -rn '/f\.[a|d].+ipv6/s#1#0#' /etc/sysctl.d/k8s-sysctl.conf
ansible all -m copy -a 'src=/etc/sysctl.d/k8s-sysctl.conf dest=/etc/sysctl.d/k8s-sysctl.conf'
查看参数
$ systemctl cat flanneld
# /usr/lib/systemd/system/flanneld.service
....
Environment=NODE_NAME=k8s-m1
ExecStart=/usr/local/bin/flanneld \
--kube-subnet-mgr=true \
--kubeconfig-file=/etc/kubernetes/flanneld.kubeconfig \
--ip-masq=true \
--iface=service \
--public-ip 100.64.2.62 \
--healthz-ip 100.64.2.62 \
--healthz-port 8471 \
--v=2
...
二进制flannel开启前台运行debug同样,不过这里有个Environment
,复制ExecStart
之前手动export下对应的key=value加环境变量或者下面行内环境变量去debug
NODE_NAME=k8s-m1 /usr/local/bin/flanneld \
--kube-subnet-mgr=true \
......