温馨提示×

centos上k8s配置有哪些要点

小樊
64
2025-05-15 06:26:33
栏目: 智能运维

在CentOS上配置Kubernetes(K8s)环境是一个涉及多个步骤的过程,以下是详细的配置要点:

基础环境准备

  1. 关闭防火墙
    systemctl stop firewalld
    systemctl disable firewalld
    
  2. 关闭SELinux
    sed -i 's/enforcing/disabled/' /etc/selinux/config
    setenforce 0
    
  3. 关闭交换分区
    swapoff -a
    sed -i '/swap/s///#/' /etc/fstab
    
  4. 设置主机名
    hostnamectl set -hostname k8s-master
    
  5. 配置hosts文件: 在所有节点上编辑 /etc/hosts 文件,添加集群内部的IP地址和主机名映射。
  6. 配置网络参数: 编辑 /etc/sysctl.d/k8s.conf 文件,设置以下参数:
    net.bridge.bridge-nf-call-ip6tables=1
    net.bridge.bridge-nf-call-iptables=1
    net.ipv4.ip_forward=1
    
    然后应用配置:
    sysctl --system
    
  7. 时间同步: 安装 ntpdate 并配置时间同步:
    yum install ntpdate -y
    ntpdate time.windows.com
    

安装Docker

  1. 添加Docker的Yum源
    curl https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    
  2. 安装Docker CE
    yum install -y docker-ce docker-ce-cli containerd.io
    systemctl enable docker
    systemctl start docker
    

安装Kubeadm、Kubelet和Kubectl

  1. 添加K8s的YUM仓库
    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOF
    
  2. 安装Kubernetes组件
    yum install -y kubelet kubeadm kubectl
    systemctl enable kubelet
    systemctl start kubelet
    

初始化Kubernetes集群

  1. 初始化Master节点
    kubeadm init --apiserver-advertise-address 192.168.1.100 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.23.6 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16
    
  2. 配置kubectl
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  3. 安装网络插件(如Calico)
    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    

验证安装

  1. 检查节点状态
    kubectl get nodes
    
  2. 检查Pod状态
    kubectl get pods --all-namespaces
    

其他注意事项

  • 网络配置:确保所有节点的网络配置相同,特别是IP地址和网关。根据实际需求选择合适的网络插件,如Calico、Flannel等。
  • 高可用性配置:配置多节点部署,设置多个Master节点以确保高可用性。部署高可用负载均衡器(如Nginx和Keepalived)。
  • 监控和日志管理:使用监控工具(如Prometheus和Grafana)检查集群的资源使用情况。配置日志管理和审计策略,使用版本控制系统保存日志,便于排查问题。
  • 安全性配置:定义Pod间的网络通信规则,控制进出Pod的流量。启用TLS加密、客户端证书、静态Token文件、动态Token服务如kubelet-bootstrap Token、OIDC或Webhook认证等。使用Role-Based Access Control(RBAC)精细管理用户和组对Kubernetes资源的访问权限。

通过遵循上述步骤和最佳实践,您可以在CentOS上成功配置一个高效、稳定且安全的Kubernetes集群。

0