温馨提示×

k8s在centos上的资源管理

小樊
38
2025-02-25 03:13:45
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上部署和管理Kubernetes(k8s)集群涉及多个步骤,包括系统准备、安装Kubernetes组件、配置资源管理等。以下是一个详细的指南:

系统准备

  1. 硬件和软件要求

    • 每台节点至少2GB内存,Master节点至少2个CPU。
    • 所有节点网络互通。
    • CentOS 7(Linux 3.10.0-693.el7.x86_64)。
    • Docker v26.1.4。
    • Kubernetes v1.20.9。
    • kubeadm v1.20。
  2. 配置主机名和网络

    • 修改主机名:
      hostnamectl set-hostname <hostname>
      
    • 修改hosts配置:
      vim /etc/hosts
      
  3. 关闭Swap分区

    • 临时关闭:
      swapoff -a
      
    • 永久关闭,注释swap行:
      # /dev/mapper/centos-swap swap swap defaults 0 0
      
    • 禁用SELinux:
      sed -i 's/SELINUXenforcing/SELINUXdisabled/' /etc/sysconfig/selinux
      reboot
      
    • 关闭防火墙:
      systemctl disable firewalld
      systemctl stop firewalld
      
    • 修改内核参数:
      modprobe br_netfilter
      echo "modprobe br_netfilter" >> /etc/profile
      tee -a /etc/sysctl.d/k8s.conf <<EOF
      net.bridge.bridge-nf-call-ip6tables  1
      net.bridge.bridge-nf-call-iptables  1
      EOF
      sysctl -p /etc/sysctl.d/k8s.conf
      
    • 配置集群时钟同步:
      timedatectl set-local-rtc 0
      timedatectl set-timezone Asia/Shanghai
      hwclock --systohc
      
  4. 配置Kubernetes的Yum源

    • 修改国内yum源:
      cat /etc/yum.repos
      

安装Kubernetes组件

  1. 初始化Master节点

    kubeadm init
    
  2. 加入Worker节点

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

资源管理

  1. 配置资源请求和限制

    在Pod的配置文件中指定请求和限制资源。例如:

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
          limits:
            memory: "128Mi"
            cpu: "500m"
    
  2. 验证资源划分

    查看当前集群的资源使用情况:

    kubectl get nodes
    kubectl describe node <node-name>
    
  3. 动态资源分配

    Kubernetes允许动态管理GPU资源。具体步骤包括安装NVIDIA Device Plugin、配置GPU资源在Pod中使用的配置文件等。

示例:部署Nginx应用

  1. 创建Nginx配置文件(nginx.yaml):

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
    
  2. 部署应用

    kubectl apply -f nginx.yaml
    
  3. 验证部署

    kubectl get pods
    

通过以上步骤,你可以在CentOS上成功部署和管理Kubernetes集群,并进行资源管理。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:centos k8s资源管理技巧

0