zoukankan      html  css  js  c++  java
  • 第四章 K8s部署安装

    一、kube-proxy开启ipvs的前置条件

    //1、加载netfilter模块
    
    modprobe br_netfilter  
    
    //2、添加配置文件
    
    cat  >  /etc/sysconfig/modules/ipvs.modules  <<EOF
    
    #!/bin/bash
    
    modprobe  --  ip_vs
    
    modprobe  --  ip_vs_rr
    
    modprobe  --  ip_vs_wrr
    
    modprobe  --  ip_vs_sh
    
    modprobe  --  nf_conntrack_ipv4
    
    EOF
    
    //3、赋予权限并引导
    
    chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules &&lsmod | grep -e ip_vs -e nf_conntrack_ipv4

    二、安装docker软件

    //1、docker依赖
    
    yum install -y yum-utils device-mapper-persistent-data lvm2
    
    
    //2、导入阿里云的docker-ce仓库
    
    yum-config-manager  
    
    --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    
    //3、更新系统安装docker-ce
    
    yum update -y && yum install -y docker-ce
    
     
    
    //4、uname -r  检测版本,再设置版本,后又重启reboot
    
    grub2-set-default "CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)"
    
    //5、启动
    
    systemctl start docker
    
    //6、开机自启
    
    systemctl enable docker
    
    //7、配置deamon
    
     
    
    cat > /etc/docker/daemon.json <<EOF
    
    {
    
    "exec-opts": ["native.cgroupdriver=systemd"],
    
    "log-driver": "json-file",
    
    "log-opts": {
    
    "max-size": "100m"
    
    }
    
    }
    
    EOF
    
    //8、创建目录存放docker配置文件
    
    mkdir -p  /etc/systemd/system/docker.service.d   
    
    //9、重启docker
    
    systemctl daemon-reload && systemctl restart docker && systemctl enable docker

    三、安装Kubeadm(主从配置)

    //1、导入阿里云的YUM仓库
    
    cat  <<EOF >  /etc/yum.repos.d/kubernetes.repo
    
    [kubernetes]
    
    name=Kubernetes
    
    baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    
    enabled=1
    
    gpgcheck=0
    
    repo_gpgcheck=0
    
    gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    
    http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    
    EOF
    
     
    
    //2、在每个节点安装kubeadm(初始化工具)、kubectl(命令行管理工具)、kubelet(与docker的cri交互创建容器)
    
    yum -y install kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1  
    
     
    
    // 3、k8s开机自启.kubelet需要与容器接口进行交互启动容器,而k8s通过Kubeadm安装出来以后都是以pod方式存在,也就是底层以容器的方式运行,所以一定要开机自启
    
    systemctl enable kubelet.service 

    四、初始化主节点(master

    1、导入镜像

    Xshell  rz命令

    kubeadm-basic.images.tar.gz

    2、解压

    tar -zxvf kubeadm-basic.images.tar.gz

    3、导入,创建文件load-images.sh

     

    4、编辑load-images.sh

     

    5、赋予权限并执行

     

    6、复制到其他节点

    scp -r kubeadm-basic.images load-images.sh  root@k8s-node01:/root/

     

    节点导入  ./load-images.sh

     

    7、初始化节点

    //显示init默认的初始化文件,并打印出来到kubeadm-config.yaml文件中
    
    kubeadm config print init-defaults > kubeadm-config.yaml 

    8、获得了kubeadm的初始化模板,并修改

    8.1 ip地址修改,不知道自己的ifconfig

     

     

     

    8.2版本号修改

     

     

    8.3、添加pod网段:podSubnet: "10.244.0.0/16"

     

    8.4、修改默认的调度方式

    ---
    
    apiVersion: kubeproxy.config.k8s.io/v1alpha1
    
    kind: KubeProxyConfiguration
    
    featureGates:
    
    SupportIPVSProxyMode: true
    
    mode: ipvs 

    9、指定从那个yaml文件进行初始化安装,自动颁发证书,并将所有信息写入到kubeadm-init.log

    kubeadm init --config=kubeadm-config.yaml --experimental-upload-certs | tee kubeadm-init.log

    10、查看kubeadm-init.log

     

    11、查看证书

     

    12、成功后根据日志提示操作

    13、查看节点

     

    五、部署网络

     

     

     

     

     

     其他随笔:

    拷贝镜像到其他文件
    
    scp -r kubeadm-basic.images load-images.sh root@k8s-node01:/root/
    
    wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
     节点加入集群
    
    kubeadm join 192.168.100.179:6443 --token abcdef.0123456789abcdef 
    
    --discovery-token-ca-cert-hash sha256:2bb6e02e45b59bdba86e0478b60d984730995924379c2973a4049a601316689f
     
    
    //查看日志
    
    vim kubeadm-init.log
    
    //查看节点信息
    
    kubectl get pod -n kube-system   
    
    kubectl get pod -n kube-system -w   //监视
    
    kubectl get pod -n kube-system -o wide   // 详细信息
    
    //存放文件
    
    mv install-k8s  / /usr/local/
    
    
    
    nmtui命令调出修改窗口

    链接:https://www.bilibili.com/video/av66617940/?p=7

  • 相关阅读:
    Unity 深入解析合批(Batching)原理及失败原因
    ILRuntime作者林若峰分享:优化 Dots URP 性能优化 (干货满满)
    unity Mesh绘制网格线
    Shder基础知识
    UnityEditor工具链开发的常用小技巧与示例
    磁盘文件分析清理工具
    波函数坍塌算法(Wave Collapse Function)实现随机地图
    视觉小说 文字游戏引擎 ink 可配合Unity
    c# 字典键值排序
    unity文件夹复制
  • 原文地址:https://www.cnblogs.com/LiuQizhong/p/11508145.html
Copyright © 2011-2022 走看看