当前位置:首页 > Web开发 > 正文

排查: a、查看 /var/log/messages系统日志 b、kubectl describe pod kube-f

2024-03-31 Web开发

Kubernetes定位在Saas层,重点解决了微处事大规模部署时的处事编排问题

1、封锁防火墙并设置开机禁用
  systemctl stop firewalld
  systemctl disable firewalld
2、配置repo
  cd /etc/yum.repos.d/
  下载Docker repo
  wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  配置kubernetes repo
  vim kubernetes.repo
  [kubernetes]
  name=Kubernetes Repo
  baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
  gpgcheck=0
  gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
  enabled=1
  检察是否配置告成yum repolist
3、配置gpg
  wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
  rpm --import rpm-package-key.gpg
  rpm --import yum-key.gpg
4、安置docker-ce kubernetes
  yum install docker-ce kubelet kubeadm kubectl -y
5、配置docker初始化
  vi /usr/lib/systemd/system/docker.service
  添加初始化环境变量
  Environment="HTTPS_PROXY=http://www.ik8s.io:10080"
  Environment="NO_PROXY=127.0.0.1/8,172.20.0.0/16"
6、启动docker设置开机自启动
  systemctl start docker
  systemctl enable docker
7、忽略swap警报,启动kubelet
  vi /etc/sysconfig/kubelet
  KUBELET_EXTRA_ARGS="--fail-swap-on=false"
  systemctl enable kubelet.service
  systemctl start kubelet
8、下载k8s镜像
  1)、在github上创建库

    

技术图片

  2)、克隆到本地然后创建Dockerfile

    

技术图片

  每个内容如下

    

技术图片

  然后推送
  3)、在docker hub上创建关联github

    

技术图片

  4)、下载镜像,执行下列脚本

    

技术图片

  5)、初始化,
    kubeadm init --kubernetes-version=v1.12.1 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=Swap
  6)、等初始化完成后,配置用户权限
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    然后添加node,在node机上执行
    kubeadm join 192.168.137.200:6443 --token cl60h7.y4o6vpizk64j5cz6 --discovery-token-ca-cert-hash sha256:1fda5b34ecd3abb044ff137e5e74afbeea95cfdb881038ed78961b8d2ef00017
  7)、检察状态
    kubectl get cs
  8)、检察nodes
    kubectl get nodes
  9)、安置flannel
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    期待一段时间使用kubectl get nodes检察节点的状态为Ready,暗示安置告成
    启动一个处事
    插手node时如果报错dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 处事重复重启iptables法则乱了,通过下面命令更正:
    systemctl stop kubelet
    systemctl stop docker
    iptables --flush
    iptables -tnat --flush
    systemctl start kubelet
    systemctl start docker
    kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1
    将处事袒露在集群外
    kubectl expose deployment nginx-deploy --name=nginx --port=80 --target-port=80 --protocol=TCP
  10)、检察pod
    kubectl get pods
    检察pod起在哪个节点上
    kubectl get pods -o wide
    检察pod有哪些标签
    kubectl get pods --show-labels

      

    检察定名空间中的pod
    kubectl get pods --all-namespaces

      

技术图片

    如果Error、Pending、ImagePullBackOff、CrashLoopBackOff都属于启动掉败,排查:
      a、检察 /var/log/messages系统日志
      b、kubectl describe pod kube-flannel-ds-amd64-bq6fp --namespace=kube-system 看出node1上flannel镜像下载掉败,去node1上手动下载镜像

        

技术图片

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32022.html