温馨提示×

CentOS中Kubernetes的安装方法

小樊
58
2025-07-29 02:39:25
栏目: 智能运维

在CentOS上安装Kubernetes可以采用多种方法,以下是两种常见的安装方式:

1. 手动安装Kubernetes集群(The Hard Way)

环境准备

  • 确保你的CentOS系统已经更新到最新版本。
  • 安装必要的依赖包:
    sudo yum update
    sudo yum install -y epel-release
    sudo yum install -y conntrack ipvsadm ipset sysstat ethtool bash
    

安装Docker

  • 安装Docker及其相关工具:
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl start docker
    sudo systemctl enable docker
    

配置Kubernetes组件

  • 创建和配置所有必要的Kubernetes配置文件,包括认证、数据加密、etcd、控制平面等。

启动Kubernetes集群

  • 启动etcd:
    sudo systemctl start etcd
    sudo systemctl enable etcd
    
  • 初始化Kubernetes控制平面:
    sudo kubeadm init --config=kubeadm-flags.txt
    
  • 配置kubeconfig:
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  • 安装网络插件(例如Calico):
    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    
  • 加入Worker节点:
    sudo kubeadm join <master-node-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    

验证集群状态

  • 检查所有节点是否处于Ready状态:
    kubectl get nodes
    

2. 使用kubeadm快速安装

环境准备

  • 确保系统为CentOS 7或更高版本。
  • 准备至少三台虚拟机,分别用作Kubernetes的Master节点和两个Worker节点。
  • 为所有虚拟机配置静态IP地址,并确保它们之间可以相互通信。

安装Docker

  • 在所有节点上安装Docker:
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
    sudo systemctl enable docker --now
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

安装Kubernetes组件

  • 配置Kubernetes的yum源并安装kubelet、kubeadm和kubectl:
    cat <<EOF > /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
    EOF
    sudo yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9
    sudo systemctl enable --now kubelet
    

初始化Master节点

  • 在Master节点上初始化Kubernetes集群:
    kubeadm init --apiserver-advertise-address <Master_IP> --control-plane-endpoint k8s-master --image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images --kubernetes-version v1.20.9 --service-cidr 10.96.0.0/16 --pod-network-cidr 192.168.0.0/16
    

加入Worker节点

  • 在Worker节点上运行以下命令加入集群:
    kubeadm join <Master_IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    

配置etcd集群

  • etcd是Kubernetes的数据库,需要高可用性。通常通过多实例部署和自动故障转移来提高容错能力。

设置高可用性

  • API Server:通过负载均衡器(如haproxy或nginx)进行代理访问,保证服务的高可用性。
  • 控制平面组件:包括Controller Manager和Scheduler,通常通过多实例模式运行,实现高可用性。
  • Pod网络:使用Calico或其他网络插件来管理Pod之间的网络通信。

监控和维护

  • 监控:使用Prometheus和Grafana监控集群的性能指标。
  • 日志:使用ELK Stack(Elasticsearch, Logstash, Kibana)收集和分析集群的日志信息。
  • 备份:定期备份etcd数据库,以防止数据丢失。

以上就是在CentOS上安装Kubernetes的基本步骤。请根据你的具体需求和环境选择合适的安装方法,并参考官方文档进行详细配置。

0