centos

centos k8s安装自动化脚本编写

小樊
44
2025-09-26 17:18:30
栏目: 智能运维

在CentOS上安装Kubernetes(k8s)的自动化脚本可以帮助你快速部署和管理Kubernetes集群。以下是一个基本的自动化脚本示例,用于在CentOS 7上安装Kubernetes集群。

请注意,这个脚本假设你已经有一个CentOS 7服务器,并且你有root权限或者可以使用sudo来执行命令。此外,这个脚本使用kubeadm来安装Kubernetes,因为它是最简单和推荐的方法。

#!/bin/bash

# 确保脚本在root用户下运行
if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root" 
   exit 1
fi

# 关闭SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 安装Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl enable docker

# 安装Kubernetes组件
cat <<EOF >/etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet

# 初始化Kubernetes主节点
kubeadm init --pod-network-cidr=10.244.0.0/16

# 设置kubectl客户端配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 安装网络插件(这里以Flannel为例)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

echo "Kubernetes installation complete!"

将上述脚本保存为install_k8s.sh,然后在终端中运行以下命令来执行它:

chmod +x install_k8s.sh
sudo ./install_k8s.sh

这个脚本会执行以下操作:

  1. 检查是否以root用户运行。
  2. 关闭SELinux。
  3. 关闭防火墙。
  4. 安装Docker。
  5. 添加Kubernetes的yum仓库并安装Kubernetes组件。
  6. 初始化Kubernetes主节点。
  7. 设置kubectl客户端配置。
  8. 安装Flannel网络插件。

请注意,这个脚本是为了演示目的而简化的。在生产环境中部署Kubernetes集群时,你需要考虑更多的因素,比如高可用性、持久化存储、网络策略、监控和日志记录等。此外,根据你的具体需求,你可能需要选择不同的网络插件和其他Kubernetes组件。

0
看了该问题的人还看了