• K8S云计算系列-(2)


    1.Kubernetes平台配置实战

    部署Kubernetes云计算平台,至少准备两台服务器,服务器CPU至少2C,内存4G,环境如下所示:

    Kubernetes Master节点:192.168.1.146
    Kubernetes Minion节点:192.168.1.147
    
    
    • 1
    • 2
    • 3

    2. K8S节点Hosts及防火墙设置

    master1、node1节点进行如下配置:

    #添加hosts解析;
    cat >/etc/hosts<<EOF
    127.0.0.1 localhost localhost.localdomain
    192.168.1.146 master1
    192.168.1.147 node1
    EOF
    #临时关闭selinux和防火墙;
    sed -i '/SELINUX/s/enforcing/disabled/g'  /etc/sysconfig/selinux
    setenforce  0
    systemctl   stop     firewalld.service
    systemctl   disable   firewalld.service
    #同步节点时间;
    yum install ntpdate -y
    ntpdate  pool.ntp.org
    #修改对应节点主机名;
    hostname `cat /etc/hosts|grep $(ifconfig|grep broadcast|awk '{print $2}')|awk '{print $2}'`;su
    #关闭swapoff;
    swapoff -a
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3. Linux内核参数设置&优化

    cat > /etc/modules-load.d/ipvs.conf <<EOF
    # Load IPVS at boot
    ip_vs
    ip_vs_rr
    ip_vs_wrr
    ip_vs_sh
    nf_conntrack_ipv4
    EOF
    systemctl enable --now systemd-modules-load.service
    #确认内核模块加载成功
    lsmod | grep -e ip_vs -e nf_conntrack_ipv4
    #安装ipset、ipvsadm
    yum install -y ipset ipvsadm
    #配置内核参数;
    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    sysctl --system
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    4. Docker虚拟化案例实战

    
    # 安装依赖软件包
    yum install -y yum-utils device-mapper-persistent-data lvm2
    # 添加Docker repository,这里使用国内阿里云yum源
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    # 安装docker-ce,这里直接安装最新版本
    yum install -y docker-ce
    #修改docker配置文件
    mkdir /etc/docker
    cat > /etc/docker/daemon.json <<EOF
    {
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m"
      },
      "storage-driver": "overlay2",
      "storage-opts": [
        "overlay2.override_kernel_check=true"
      ],
      "registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
    }
    EOF
    # 注意,由于国内拉取镜像较慢,配置文件最后增加了registry-mirrors
    mkdir -p /etc/systemd/system/docker.service.d
    # 重启docker服务
    systemctl daemon-reload
    systemctl enable docker.service
    systemctl start docker.service
    ps -ef|grep -aiE docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    5. Kubernetes添加部署源

    Kubernetes Master节点上安装Docker、Etcd和Kubernetes、Flannel网络,添加kubernetes源指令如下:

    cat>>/etc/yum.repos.d/kubernetes.repo<<EOF
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    2.7 配置Keepalived提高吞吐量
    Arrow parquet 之 String Reader
    访问 GitHub 方法
    算法—5、最长回文子串
    在Linux怎么用vim实现把一个文件里面的文本复制到另一个文件里面
    【LeetCode】每日一题:相交链表
    Matlab信号处理1:模拟去除信号噪声
    20天零基础自学Python | Day5 8大数据类型
    cereal:支持C++11的开源序列化库
    关于Azure中Zero Trust战略在Web App中的实现
  • 原文地址:https://blog.csdn.net/weixin_44681349/article/details/133776437