zoukankan      html  css  js  c++  java
  • kubeadm安装k8s集群

    安装kubeadm kubectl kubelet

    对于Ubuntu/debian系统,添加阿里云k8s仓库key,非root用户需要加sudo

    apt-get update && apt-get install -y apt-transport-https
    curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 

    然后在/etc/apt/source.list末尾加一行

    deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

    然后更新apt列表,安装kubeadm和kubectl

    apt-get update
    apt-get install -y kubelet kubeadm kubectl

    对于CentOS/RHEL/Fedora

    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
    setenforce 0
    yum install -y kubelet kubeadm kubectl
    systemctl enable kubelet && systemctl start kubelet

    由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用 yum install -y --nogpgcheck kubelet kubeadm kubectl 安装

    初始化集群

    sudo  kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=cri --control-plane-endpoint "192.168.1.13:6443"  --kubernetes-version=1.18.3
    image-repository是镜像仓库地址,默认是谷歌的,国内无法访问,所以改为阿里云的
    pod-network-cidr是pod的子网网段设置
    control-plane-endpoint是控制层的入口,所以是填主节点的ip+指定一个端口,后续有其他机器加入集群就是从这里访问的
    重要:kubernetes-version是k8s的版本,这个需要和上一步安装的kubeadm版本一致, kubeadm version可以查看到版本号

    然后等几分钟初始化完毕就会提示下一步操作。
    拷贝admin.conf到.kube,重命名为config
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config

    这里还可以看到其他节点加入集群的命令,即有kubeadm join那两行,加入控制层(master或者叫controller)多了个--control-plane参数,加入工作节点(worker)则没有。k8s的高可用集群一般建议至少3个主节点(ps:我的机器少,只有一个主节点,一个worker节点)

    安装pod网络

    下载flannel.yml到所在目录,安装flannel

    kubectl apply -f flannel.yml

    加入其他节点

    拷贝证书

    先在要加入的节点的用户目录下新建~/pki/etcd目录

    mkdir -p ~/pki/etcd

    然后在刚才安装k8s的主节点通过scp把证书都拷贝过去

    cd /etc/kubernetes/pki
    sudo scp sa.key sa.pub front-proxy-ca.crt front-proxy-ca.key myuser@192.168.1.113:~/pki/
    cd etcd
    sudo scp ca.crt ca.key myuser@192.168.1.113:~/pki/etcd

    再切回要加入的节点,执行本文一开始安装kubeadm的步骤

    然后把证书移动到/etc/kubernetes/pki下

    sudo mv -f ~/pki/* /etc/kubernetes/pki/

    最后加入集群即可,这行命令可以在主节点的集群初始化最后找到,每个集群的都不一样,需要自己去拷贝自己生成的那个

    sudo kubeadm join 192.168.1.13:6443 --token fd1j75.qxrwb8h1dbogasb7 --discovery-token-ca-cert-hash sha256:4f2f2a8900ff54575406f443e49ec78d1658e437f3e1dd2785c6fbd05bcbf786 --control-plane

    最后也会有提示让把admin.conf拷贝到.kube,修改所有者,照做就是

    如果token过期,可以在主节点执行 kubeadm token create 以生成新的token,有效期两小时

    安装桌面客户端

    最后安利一个很不错的k8s集群客户端应用lens,点击选择对应版本下载,打开就可以用了。

    打开,点击+号,选择自定义,然后把主节点的~/.kube/config文件内容拷贝这里就能连接上了

     

    安装监控系统前需要将主节点设置污点容忍(taint),master节点默认是有设置污点的,不能将pod分配到污点节点,只有设置了污点容忍监控系统的pod才能安装到主节点,当然,有worker够的话也不用

    以下命令就是去除主节点的污点。

    sudo kubectl taint nodes --all node-role.kubernetes.io/master-

    安装监控系统,集群图标,点击右键设置。拉到最下边的Features,Metrics,点击安装,集群就会自动安装普罗米修斯了

     

  • 相关阅读:
    BZOJ.3990.[SDOI2015]排序(DFS)
    BZOJ.1040.[ZJOI2008]骑士(树形DP)
    BZOJ.2246.[SDOI2011]迷宫探险(DP 记忆化搜索 概率)
    BZOJ.3209.花神的数论题(数位DP)
    UVA.1640.The Counting Problem / BZOJ.1833.[ZJOI2010]数字计数(数位DP)
    HDU.3652.B-number(数位DP)
    BZOJ.4514.[SDOI2016]数字配对(费用流SPFA 二分图)
    BZOJ.4832.[Lydsy1704月赛]抵制克苏恩(期望DP)
    BZOJ.1025.[SCOI2009]游戏(背包DP)
    BZOJ.3257.树的难题(树形DP)
  • 原文地址:https://www.cnblogs.com/turingguo/p/13094498.html
Copyright © 2011-2022 走看看