kubernetes 집단의 설치 이상 송금 - docker 드라이브 엔진

8344 단어

이상 [kubelet cgroup driver: cgroupfs와 docker cgroup driver: systemd가 일치하지 않음]

  • 이상 설명
    error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs"is different from docker cgroup driver: "systemd"
    쿠벨렛을 시작할 때
    # kubelet
    service kubelet start
    # kubelet 
    journalctl -f -u kubelet
    
    다음과 같은 오류
    10  11 20:05:18 server03 kubelet[15984]: error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd" 10  11 20:05:18 server03 systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE 10  11 20:05:18 server03 systemd[1]: Unit kubelet.service entered failed state. 10  11 20:05:18 server03 systemd[1]: kubelet.service failed. 
  • 원인 분석kubelet 파일 드라이브 기본 cgroupfs, 우리가 설치한docker가 사용하는 파일 드라이브는 시스템d로 일치하지 않아 거울이 시작되지 않습니다.지금은 두 가지 방식이 있는데, 하나는 Docker를 수정하는 것이고, 다른 하나는 Kubelet을 수정하는 것이다.저는 여기에서 Docker를 수정하는 방식을 사용합니다. ==주의=: 인터넷의 대부분 강좌는 직접 수정daemon.json
    # daemon.json
    vi /etc/docker/daemon.json
    # 
    "exec-opts": [
        "native.cgroupdriver=systemd"
    ]
    
    을 말합니다. 이렇게 하면 수정을 한 후에 Docker가 시작할 수 없습니다. 알림daemon.json/lib/systemd/system/docker.servicenative.cgroupdriver=systemd이 중복됩니다.
  • 솔루션(docker 수정)
    #  docker Cgroup Driver
    [root@server02 ~]# docker info
    ...
    Server Version: 1.13.1 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overlay Diff: true Logging Driver: journald Cgroup Driver: systemd ... 
    #  docker.service
    vi /lib/systemd/system/docker.service
    
     
    --exec-opt native.cgroupdriver=systemd \
     :
    --exec-opt native.cgroupdriver=cgroupfs \
    
    #  docker
    systemctl daemon-reload
    systemctl restart docker
    
    #  docker Cgroup Driver
    [root@server03 sysconfig]# docker info
    ...
    Server Version: 1.13.1 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overlay Diff: true Logging Driver: journald Cgroup Driver: cgroupfs ... 
    참조 링크:http://www.cnblogs.com/hongdada/p/9771857.html

  • 이상 [failed to get system container stats for kubelet.service]

  • 이상 설명
    failed to get container info for "/system.slice/kubelet.service": unknown container "/system.slice/kubelet.service"
    쿠벨렛을 시작할 때
    service kubelet start
    # kubelet 
    journalctl -f -u kubelet
    
    다음과 같은 오류
    10  11 19:37:46 server01 kubelet[64872]: E1011 19:37:46.150198   64872 summary.go:92] Failed to get system container stats for "/system.slice/kubelet.service": failed to get cgroup stats for "/system.slice/kubelet.service": failed to get container info for "/system.slice/kubelet.service": unknown container "/system.slice/kubelet.service" 
  • 솔루션
    #  kubelet.service
    vi /lib/systemd/system/kubelet.service
    
    # ExecStart , 
    --runtime-cgroups=/systemd/system.slice \
    --kubelet-cgroups=/systemd/system.slice
    
    수정된/lib/systemd/system/kubelet.service
    [Unit]
    Description=Kubernetes Kubelet
    Documentation=https://github.com/GoogleCloudPlatform/kubernetes
    After=docker.service
    Requires=docker.service
    
    [Service]
    WorkingDirectory=/var/lib/kubelet
    ExecStart=/opt/modules/kubernetes-bins/kubelet \
      --address=192.168.1.188 \ --hostname-override=192.168.1.188 \ --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/imooc/pause-amd64:3.0 \ --kubeconfig=/etc/kubernetes/kubelet.kubeconfig \ --network-plugin=cni \ --cni-conf-dir=/etc/cni/net.d \ --cni-bin-dir=/opt/modules/kubernetes-bins \ --cluster-dns=10.68.0.2 \ --cluster-domain=cluster.local. \ --allow-privileged=true \ --fail-swap-on=false \ --logtostderr=true \ --v=2 \ --runtime-cgroups=/systemd/system.slice \ --kubelet-cgroups=/systemd/system.slice #kubelet cAdvisor   4194  ,  iptables  ExecStartPost=/sbin/iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 4194 -j ACCEPT ExecStartPost=/sbin/iptables -A INPUT -s 172.16.0.0/12 -p tcp --dport 4194 -j ACCEPT ExecStartPost=/sbin/iptables -A INPUT -s 192.168.0.0/16 -p tcp --dport 4194 -j ACCEPT ExecStartPost=/sbin/iptables -A INPUT -p tcp --dport 4194 -j DROP Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target

  • 다음으로 전송:https://www.cnblogs.com/xingyunfashi/p/11433359.html

    좋은 웹페이지 즐겨찾기