kubeadm 安装kubernetes v1.10

作者: stepyu | 来源:发表于2018-04-13 17:35 被阅读81次

kubeadm 安装kubernetes

  1. 安装docker
    用你系统对应的包管理工具来安装,centos的安装如下

    yum install -y docker
    systemctl enable docker && systemctl start docker
    
  2. 安装kubeadm,kubelet,kubectl

    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
    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
    setenforce 0
    yum install -y kubelet kubeadm kubectl
    systemctl enable kubelet && systemctl start kubelet
    
    • 如果安装由于访问问题的话,可以配置代理进行再执行上述命令
    • 注意setenforce 0作用是,关闭SELinux,这样就可以让容器访问到主机的文件系统(否则启动k8s组件容器时,会出现没权限访问主机上的证书、密钥的错误)
    • 配置网桥参数,使得流量不会绕过iptable 执行命令如下
    cat <<EOF >  /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    sysctl --system
    
    • kubelet 现在在不断的重启,它在等待kubeadm告诉它接下来干啥
    • 确保kubelet用的cgroup驱动和Docker用的是相同的,可以通过下面的命令获取配置进行比较
    docker info | grep -i cgroup
    cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
    

    如果不一样,最好是修改一下docker的配置,从/usr/lib/systemd/system/docker.service中找到native.cgroupdriver配置
    重启一下docker,执行以下命令

    systemctl daemon-reload
    systemctl restart docker
    
    • 关闭防火墙,执行下面命令
    systemctl stop firewalld && systemctl disable firewalld
    
  3. 由于镜像都是google的镜像仓库中的镜像,给Docker配置代理来使得接下来的操作中拉取镜像成功,执行以下命令

    mkdir /etc/systemd/system/docker.service.d
    touch /etc/systemd/system/docker.service.d/http-proxy.conf
    echo <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
    [Service]
     Environment="HTTP_PROXY=http://IP:PORT" "HTTPS_PROXY=http://IP:PORT"
     EOF
    
  4. 初始化master

    kubeadm init --pod-network-cidr=10.244.0.0/16
    
    • 后续安装Flannel网络插件,所以加配上述参数
    • 安装成功后,在输出信息中,要备份记录下最后的这句话,以备后续在node上执行这个命令来加入集群
    You can now join any number of machines by running the following on each node
    as root:
    
    kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
    
  5. 配置kubectl,使其能访问api-server
    root用户执行下面的命令

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

    root用户可简单执行如下命令

    export KUBECONFIG=/etc/kubernetes/admin.conf
    
  6. 安装Pod network,安装Flannel 执行下面的命令

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml
    

    此时可以通过kubectl get pods --all-namespaces查看 集群情况,
    一旦 kube-dns 启动运行起来后,就可以加入其它nodes

  7. Master节点加入被编排的node中,形成单节点kubernetes集群, 执行下面的命令

    kubectl taint nodes --all node-role.kubernetes.io/master-
    
  8. 加入node
    先执行1、2、3步,完成安装Docker、kubelet、kubeadm,以及管理防火墙、关闭SELunix,配置代理等
    加下来执行如下命令

    kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>
    

相关文章

网友评论

本文标题:kubeadm 安装kubernetes v1.10

本文链接:https://www.haomeiwen.com/subject/bbhhkftx.html