温馨提示×

Kubernetes部署在Debian上的自动化脚本

小樊
44
2025-11-29 08:56:40
栏目: 智能运维

要在Debian上自动化部署Kubernetes集群,你可以使用Kubeadm工具。以下是一个基本的自动化脚本示例,用于在Debian系统上设置一个单节点的Kubernetes集群。

请注意,这个脚本假设你已经安装了Docker和Kubeadm,并且你的Debian系统是最新的。此外,这个脚本应该在具有root权限的用户下运行。

#!/bin/bash

# 更新Debian软件包索引
apt-get update

# 安装Docker
apt-get install -y docker.io

# 启动Docker并设置为开机自启
systemctl start docker
systemctl enable docker

# 配置Docker守护进程,允许不安全的注册表(如果需要)
cat <<EOF | tee /etc/docker/daemon.json
{
  "insecure-registries" : ["myregistry.example.com:5000"]
}
EOF

# 重启Docker服务
systemctl restart docker

# 安装Kubeadm、Kubelet和Kubectl
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list
apt-get update
apt-get install -y kubelet kubeadm kubectl

# 启动Kubelet并设置为开机自启
systemctl start kubelet
systemctl enable kubelet

# 使用Kubeadm初始化Kubernetes集群
kubeadm init --pod-network-cidr=10.244.0.0/16

# 设置kubectl的默认命名空间为"kubernetes-admin"
kubectl config set-context --current --namespace=kubernetes-admin

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

# 输出加入集群的命令
echo "To start using your cluster, run the following as a regular user:"
echo
echo "  mkdir -p $HOME/.kube"
echo "  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config"
echo "  sudo chown $(id -u):$(id -g) $HOME/.kube/config"

保存这个脚本到一个文件中,比如 deploy_k8s.sh,然后通过以下命令运行它:

chmod +x deploy_k8s.sh
sudo ./deploy_k8s.sh

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

  1. 更新Debian软件包索引。
  2. 安装Docker并启动。
  3. 配置Docker守护进程(如果需要)。
  4. 安装Kubeadm、Kubelet和Kubectl。
  5. 启动Kubelet并设置为开机自启。
  6. 使用Kubeadm初始化Kubernetes集群。
  7. 设置kubectl的默认命名空间。
  8. 安装Flannel网络插件。
  9. 输出加入集群的命令,以便你可以将其他节点加入到这个集群中。

请记住,这只是一个基本的自动化脚本示例。根据你的具体需求,你可能需要对其进行修改,例如配置高可用性集群、使用不同的网络插件、设置持久化存储等。

0