• 在单机(物理机)上用虚拟机部署kubernetes集群


    1.部署虚拟机

    详细步骤可以查看我的这篇博客

    2.部署k8s

    (1)准备

    搭建K8S集群,准备三台2核4G的虚拟机(内存⾄少2G以上),操作系统选择⽤centos 7以上版本,先在三台机器上装好docker,点击查看docker安装教程

    (2)安装

    在三台机器上都执⾏如下命令操作:

    1.关闭 selinux和防火墙:
    永久关闭
    sed -i 's/enforcing/disabled/' /etc/selinux/config
    临时关闭
    setenforce 0
    
    关闭防火墙
    systemctl disable firewalld
    systemctl stop firewalld
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    2.关闭 swap
    临时关闭
    swapoff -a 
    
    永久关闭
    vim /etc/fstab 
    #注释掉swap这行
    #/dev/mapper/centos‐swap swap swap defaults 0 0
    systemctl reboot #重启⽣效
    free ‐m #查看下swap交换区是否都为0,如果都为0则swap关闭成功
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    3.给三台机器分别设置主机名

    hostnamectl set-hostname
    第1台:k8s‐master
    第2台:k8s‐node1
    第3台:k8s‐node2

    4.在 k8s‐master机器添加hosts,执行如下命令,ip需要修改成你的机器的ip
    vi /etc/hosts
    192.168.65.160 k8s-master
    192.168.65.203 k8s-node1
    192.168.65.210 k8s-node2
    
    • 1
    • 2
    • 3
    • 4
    5.添加k8s yum源
    vi /etc/yum.repos.d/kubernetes.repo 
    输入以下内容:
    [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
    https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    6.如果之前安装过k8s,先卸载旧版本

    yum remove -y kubelet kubeadm kubectl

    7.查看可以安装的版本

    yum list kubelet --showduplicates | sort -r

    8.安装kubelet、kubeadm、kubectl 指定版本,我们使kubeadm安装k8s集群

    yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

    9.启动kubelet

    (1)slave节点执行:

    systemctl enable kubelet
    systemctl start kubelet
    
    • 1
    • 2

    (2)master节点执行:

    systemctl enable kubelet
    systemctl start kubelet
    kubeadm init --apiserver-advertise-address=192.168.65.160 --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
    
    • 1
    • 2
    • 3

    执⾏完后结果如下图:
    在这里插入图片描述

    10.部署master

    #配置使用kubectl 命令工具(类似docker这个命令),执行上图第2个红框的命令

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

    #查看kubectl是否能正常使用
    kubectl get nodes
    #安装 Pod 网络插件

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
    • 1
    11.部署slave

    #配置使用kubectl 命令工具(类似docker这个命令),执行上图第2个红框的命令

    将node节点加⼊进master节点的集群⾥,复制上图第三个红框⾥的命令执⾏

    kubeadm join 192.168.65.160:6443 --token hbovty.6x82bkdlsk6dfy32 --discovery-token-ca-cert-hash sha256:659511b431f276b2a5f47397677b1dff74838ae5eb18e24135e6dae1b8c45840
    
    • 1

    注意:自动生成的密钥有效期为24h,建议手动生成个永久的,具体看这里

    12.在master节点查看node

    kubectl get nodes

    其他:

    一、卸载k8s服务
    # 卸载服务
    kubeadm reset
    
    # 删除rpm包
    rpm -qa|grep kube*|xargs rpm --nodeps -e
    
    # 删除容器及镜像
    docker images -qa|xargs docker rmi -f
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    二、动态修改虚拟机cpu、内存配置

    注意:要先关机修改最大使用量,再开机修改分配数量,以下步骤按部就班执行

    查看虚拟机信息
    virsh list --all 
    
    设置最大cpu颗数和最大内存使用量:(关机状态下)
    virsh setvcpus bbotte --maximum 4 --config
    virsh setmaxmem bbotte 1048576 --config
    
    修改虚拟机cpu核心数(开机状态)
    virsh setvcpus vmName 4
    
    修改内存
    virsh setmem vmName 819200 --config --live
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    Day29力扣打卡
    Elastic Agent 的安装及使用
    【C++·峰顶计划】命名空间与Cin输入Cout输出操作
    java毕业设计《组成原理》课程智能组卷mybatis+源码+调试部署+系统+数据库+lw
    Java学习笔记 --- Java绘图技术
    Informer--用于长序列时序预测【2021AAAI Best Paper】
    Material UI 5 学习02-其它按钮组件
    【项目】通讯录1(C语言)
    图数据挖掘(一):网络的基本概念和表示方法
    redis之集群
  • 原文地址:https://blog.csdn.net/THMAIL/article/details/126429352