• centos7安装kubeadm


    安装配置docker

    v1.9.0版本推荐使用docker v1.12,
    v1.11, v1.13, 17.03也可以使用,再高版本的docker可能无法正常使用。
    测试发现17.09无法正常使用,不能使用资源限制(内存CPU)

    安装docker

    # 卸载安装指定版本docker-ce
    yum remove -y docker-ce docker-ce-selinux container-selinux
    yum install -y --setopt=obsoletes=0 
    docker-ce-17.03.1.ce-1.el7.centos 
    docker-ce-selinux-17.03.1.ce-1.el7.centos
    

    修改docker配置使用systemd

    在/etc/docker/daemon.json文件添加如下配置
    centos7安装的docker12不能添加此参数,否则会无法启动

    {
      "exec-opts": ["native.cgroupdriver=systemd"]
    }
    
    # 如果使用了加速器配置格式如下
    {
      "registry-mirrors": ["https://tfhzn46h.mirror.aliyuncs.com"],
      "exec-opts": ["native.cgroupdriver=systemd"]
    }
    

    启动docker

    systemctl enable docker && systemctl restart docker
    

    安装 kubeadm, kubelet 和 kubectl

    如下的安装方法,选择其中一个即可。

    翻墙安装

    需要翻墙才能正常安装,如果不能翻墙,可以使用阿里云或其他云提供的容器海外构建功能,下载好包。
    启动容器,之后从容器中把文件获取出来安装即可。

    # 安装依赖
    yum install -y ebtables socat
    
    # 在能翻墙的机器上下载rpm包
    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
    yum install -y yum-utils
    k8s_version=$(yum info kubelet | grep Version | awk -F ':' '{print $2}' | tr -d ' ')
    mkdir k8s-$k8s_version && cd k8s-$k8s_version
    yumdownloader kubelet kubeadm kubectl kubernetes-cni
    
    # 打包下载到要安装的机器上
    cd .. && tar cvzf k8s-${k8s_version}.tgz k8s-$k8s_version/
    
    # 安装
    tar xf k8s-*.tgz && cd k8s-* && yum localinstall -y *.rpm
    

    使用阿里镜像安装

    # 配置源
    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
    
    # 安装
    yum install -y kubelet kubeadm kubectl
    

    二进制安装方法(不推荐)

    此需要自己安装kubernetes-cni

    # 下载安装
    version=$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
    wget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubectl
    wget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubeadm
    wget https://storage.googleapis.com/kubernetes-release/release/$version/bin/linux/amd64/kubelet
    chmod +x kubectl kubeadm kubelet
    mv kubectl kubeadm kubelet /usr/local/bin
    

    实验所用kubeadm相关文件已经上传到了百度网盘
    链接:https://pan.baidu.com/s/1pl7YYUYZsPd98J0DhNLWEQ 密码:40na

    配置系统相关参数

    # 临时禁用selinux
    # 永久关闭 修改/etc/sysconfig/selinux文件设置
    sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
    setenforce 0
    
    # 临时关闭swap
    # 永久关闭 注释/etc/fstab文件里swap相关的行
    swapoff -a
    
    
    
    # 开启forward
    # Docker从1.13版本开始调整了默认的防火墙规则
    # 禁用了iptables filter表中FOWARD链
    # 这样会引起Kubernetes集群中跨Node的Pod无法通信
    
    iptables -P FORWARD ACCEPT
    
    # 配置转发相关参数,否则可能会出错
    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    vm.swappiness=0
    EOF
    sysctl --system
    

    参考文档

  • 相关阅读:
    swift学习二:基本的语法
    Unity3D游戏开发之开发游戏带来的问题
    Linux makefile 教程 很具体,且易懂
    匈牙利算法
    ExtJs自学教程(1):一切从API開始
    rman
    微软历史最高市值是多少?
    安装Oracle JDK 7.0与8.0 for Mac OS X后Eclipse启动报错的解决之道
    linux-sfdisk 使用方法
    未将对象引用设置到对象的实例--可能出现的问题总结
  • 原文地址:https://www.cnblogs.com/hyl8218/p/10060318.html
Copyright © 2020-2023  润新知