Ubuntu安装K8s


Ubuntu安装K8s

采用本地VM虚拟机方式安装,整体流程:

  1. 安装一台Ubuntu
  2. 修改可能需要的几个配置
  3. 安装基本的环境
  4. 克隆新的Node节点机器
  5. 主从节点配置K8s
  6. 主节点安装网络插件
  7. 验证集群

安装Ubuntu

我比较懒,所以可以参考别人的博客安装,说明两点:

  • CPU和内存我豆是选择的4,这个根据自己电脑的配置量力而行.
  • Ubuntu版本我是 20.04,如果不一样,下面有些地方会有坑,不要直接复制命令

别人的博客安装Ubuntu

修改可能需要的几个配置

  1. 关闭交换分区

    • 进入root管理员
      su``su: Authentication failure
    • 多数同学因为刚刚安装导致密码不知道,然后认证失败,所以要修改密码,执行命令,填写对应的密码(密码建议:123456)sudo passwd root
    • 再次进入root管理员,输入上一步的密码即可 su
    • 关闭交换分区 swapoff -a
    • 修改配置文件
      vi /etc/fstab
      注释掉这一行:前面加一个 #,保存退出image.png
  2. 关闭防火墙
    直接暴力解决:开机禁止启动

    systemctl disable ufw

  3. 重启

    reboot

安装基本的环境

  1. Docker
    可以参考菜鸟教程
    这里再重复一下:

    # 安装 apt 依赖包,用于通过HTTPS来获取仓库:
    sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg-agent \
        software-properties-common
    
    # 添加 Docker 的官方 GPG 密钥:
    curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
    # 设置稳定版仓库
    sudo add-apt-repository \
       "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
      $(lsb_release -cs) \
      stable"
    
    # 查看版本,可以不用执行
    apt-cache madison docker-ce
    
    # 安装
    apt-get install docker-ce=5:20.10.0~3-0~ubuntu-focal docker-ce-cli=5:20.10.0~3-0~ubuntu-focal containerd.io
    
    # 验证
    docker -v
    
  2. K8s基本配置

    阿里云地址:kubernetes镜像

  • 配置组件

    apt-get update && apt-get install -y apt-transport-https

  • 添加秘钥

    curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

  • 添加源

    cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
    deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
    EOF
    
  • 更新

    apt-get update

  • 查看版本

    apt-cache madison kubelet

  • 安装K8s

    apt install -y kubelet=1.18.0-00 kubeadm=1.18.0-00 kubectl=1.18.0-00

克隆新的Node节点机器

  • 这里基本上是VM的操作:选择克隆,后面我选的是完整克隆
    image.png
  • 克隆完成,启动机器
    image.png

主从节点配置K8s

我这里把原来的机器作为Master(132)节点,新克隆的机器作为Node(135)节点

  1. 主节点配置K8s
    注意这里的192.168.171.132这个IP是我的主节点的IP,要换成自己的!!!

    kubeadm init \
      --apiserver-advertise-address=192.168.171.132  \
      --image-repository registry.aliyuncs.com/google_containers  \
      --kubernetes-version v1.18.0  \
      --service-cidr=10.96.0.0/12  \
      --pod-network-cidr=10.244.0.0/16
    

    这里是成功的截图,只截取了下半部分
    image.png
    主节点执行截图中的命令,这里最好不要直接复制,选择自己控制台打出的

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  2. 从节点加入K8s
    从节点执行加入的命令,这是在主节点的控制台打印出来的,不要直接复制代码!!!

    kubeadm join 192.168.171.132:6443 --token qost7c.w7bvapj2oej2gnvf
    --discovery-token-ca-cert-hash 	sha256:39cd3a28ca2aabaa20bf9918e4a06549d0f461e3973769d51e2eab8e2b33d550
    

    我这里报错了,是因为克隆机器的问题导致的机器名称一样
    临时解决办法:修改机器名hostnamectl set-hostname 135
    删除临时的配置文件: rm -rf /etc/kubernetes/pki/ca.crt

    image.png

    处理好后再次执行
    image.png

  3. 主节点查看
    有两个节点了

    root@ubuntu:/# kubectl get node
    NAME     STATUS     ROLES    AGE   VERSION
    135      NotReady   <none>   13s   v1.18.0
    ubuntu   NotReady   master   17m   v1.18.0
    

主节点安装网络插件

主节点查看可以看到两个节点都是NotReady状态所以需要安装网络插件
主节点执行命令

kubectl apply -f  https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube- flannel.yml

image.png

稍后执行节点查看命令,节点全部是Ready

root@ubuntu:/# kubectl get node
NAME     STATUS   ROLES    AGE   VERSION
135      Ready    <none>   33m   v1.18.0
ubuntu   Ready    master   50m   v1.18.0

验证集群

image.png

顺利完成

顺利完成,中介可能会踩一些我没有遇到的坑.遇到了也不要惊慌,谷歌和百度会帮助我们解决多数问题.同时这个集群自己多动手安装几次就熟悉了.

参考

posted @ 2023-05-11 12:03  i小鱼儿  阅读(58)  评论(0)    收藏  举报