【k8s集群应用】kubeadm1.20(单master)

Kubernetes 集群

  1. 在所有节点上安装Docker和kubeadm
  2. 部署Kubernetes Master
  3. 部署容器网络插件
  4. 部署 Kubernetes Node,将节点加入Kubernetes集群中
  5. 部署 Dashboard Web 页面,可视化查看Kubernetes资源
  6. 部署 Harbor 私有仓库,存放镜像资源

Kubernetes 集群环境准备

节点配置概览

节点名称 配置(CPU/内存) IP地址 安装软件
master 2C/4G(CPU核心数要求大于2) 20.0.0.10 docker、kubeadm、kubelet、kubectl、flannel
node01 2C/2G 20.0.0.58 docker、kubeadm、kubelet、kubectl、flannel
node02 2C/2G 20.0.0.59 docker、kubeadm、kubelet、kubectl、flannel
Harbor节点 - 20.0.0.57 docker、docker-compose、harbor-offline-v1.2.2

环境准备

  1. 关闭防火墙、SELinux 和 Swap
    • 在所有节点上执行以下命令:
      systemctl stop firewalld
      systemctl disable firewalld
      setenforce 0
      sed -i 's/enforcing/disabled/' /etc/selinux/config
      iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
      swapoff -a
      sed -ri 's/.*swap.*/#&/' /etc/fstab
      
  2. 加载 ip_vs 模块
    • 在所有节点上执行以下命令:
      for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done
      
  3. 修改主机名
    • 在 Master 节点上执行:
      hostnamectl set-hostname master01
      
    • 在 Node01 节点上执行:
      hostnamectl set-hostname node01
      
    • 在 Node02 节点上执行:
      hostnamectl set-hostname node02
      
  4. 修改 hosts 文件
    • 在所有节点上编辑 /etc/hosts 文件,添加以下内容:
      20.0.0.10 master01
      20.0.0.58 node01
      20.0.0.59 node02
      
  5. 调整内核参数
    • 在所有节点上创建 /etc/sysctl.d/kubernetes.conf 文件,并添加以下内容:
      # 开启网桥模式,可将网桥的流量传递给iptables链
      net.bridge.bridge-nf-call-ip6tables=1
      net.bridge.bridge-nf-call-iptables=1
      # 关闭ipv6协议
      net.ipv6.conf.all.disable_ipv6=1
      net.ipv4.ip_forward=1
      
    • 应用内核参数:
      sysctl --system
      
注意
  • 关闭 Swap:Kubernetes 要求必须关闭 Swap 分区,否则会导致集群初始化失败。
  • 加载 ip_vs 模块:这是为了支持 Kubernetes 的 Service 负载均衡功能。
  • 调整内核参数:这些参数对于 Kubernetes 集群的网络和性能至关重要。

Kubernetes 集群环境搭建

所有节点安装 Docker

  1. 安装依赖
    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  2. 添加 Docker 仓库
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  3. 安装 Docker
    yum install -y docker-ce docker-ce-cli containerd.io
    
  4. 配置 Docker
    创建 /etc/docker/daemon.json 文件,并添加以下内容:
    {
         
      "registry-mirrors": ["https://docker.m.daocloud.io", "https://docker.1panel.live"],
      "exec-opts": ["native.cgroupdriver=systemd"],
      "log-driver": "json-file",
      "log-opts": {
         
        "max-size": "500m",
        "max-file": "3"
      }
    }
    
  5. 重载 Systemd 配置并重启 Docker
    systemctl daemon-reload
    systemctl restart docker.service
    systemctl enable docker.service
    
  6. 验证 Cgroup Driver
    docker info | grep "Cgroup Driver"
    
    期望输出:Cgroup Driver: systemd

所有节点安装 kubeadm、kubelet 和 kubectl

  1. 定义 Kubernetes 源
    创建 /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
    
  2. 安装 kubeadm、kubelet 和 kubectl

    yum install -y kubelet-1.20.15 kubeadm-1.20.15 kubectl-1.20.15
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值