首页主机资讯debian环境下k8s安装教程

debian环境下k8s安装教程

时间2025-10-03 06:03:03发布访客分类主机资讯浏览635
导读:Debian环境下Kubernetes(K8s)安装教程 一、前置准备 硬件要求:每台节点(Master/Worker)至少需满足:2核CPU、2GB及以上内存、20GB及以上硬盘空间。 系统要求:使用Debian稳定版(如Debian...

Debian环境下Kubernetes(K8s)安装教程

一、前置准备

  1. 硬件要求:每台节点(Master/Worker)至少需满足:2核CPU、2GB及以上内存、20GB及以上硬盘空间。
  2. 系统要求:使用Debian稳定版(如Debian 11/12),确保系统已更新至最新版本。
  3. 网络要求:所有节点需配置静态IP地址,并在/etc/hosts文件中添加节点IP与主机名的映射(如192.168.1.10 master192.168.1.11 node1),确保节点间能互相解析。
  4. 防火墙/SELinux:关闭防火墙(sudo ufw disable)或放行必要端口(如6443、10250-10252等);若启用SELinux,需设置为permissive模式。

二、系统基础配置

1. 关闭Swap分区

Kubernetes要求禁用Swap分区,否则kubelet无法正常启动。执行以下命令:

sudo swapoff -a  # 临时关闭Swap
sudo sed -i '/ swap / s/^\(.*\)$/#\1/' /etc/fstab  # 永久禁用(注释/etc/fstab中的Swap行)

2. 安装Docker容器运行时

Kubernetes依赖容器运行时,推荐使用Docker(需版本≥18.09):

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -  # 添加Docker GPG密钥
echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list  # 添加Docker APT源
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io  # 安装Docker
sudo systemctl start docker &
    &
     sudo systemctl enable docker  # 启动Docker并设置开机自启

3. 配置containerd(可选但推荐)

若使用containerd作为容器运行时,需调整其配置以兼容Kubernetes:

sudo mkdir -p /etc/modules-load.d
echo "overlay br_netfilter" | sudo tee /etc/modules-load.d/containerd.conf  # 加载必要内核模块
sudo modprobe overlay
sudo modprobe br_netfilter
sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf <
    <
    EOF
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system  # 生效配置

三、安装Kubernetes核心组件

在所有节点(Master/Worker)上执行以下操作:

# 添加Kubernetes官方APT源
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

# 更新软件包索引并安装kubelet、kubeadm、kubectl
sudo apt update
sudo apt install -y kubelet kubeadm kubectl

# 锁定组件版本(避免自动升级导致兼容性问题)
sudo apt-mark hold kubelet kubeadm kubectl

四、初始化Master节点

在Master节点上执行初始化命令(以Flannel网络插件为例,Pod CIDR设为10.244.0.0/16):

sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
  • 参数说明
    • --pod-network-cidr:指定Pod网络的CIDR范围(需与后续网络插件配置一致);
    • --service-cidr:指定Service网络的CIDR范围(默认10.96.0.0/12,可根据需求调整)。

初始化完成后,会输出kubeadm join命令(包含Token和CA证书哈希),务必保存该命令,用于后续Worker节点加入集群。

五、配置kubectl

初始化完成后,需配置kubectl以连接集群:

mkdir -p $HOME/.kube  # 创建.kube目录
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config  # 复制Admin配置文件
sudo chown $(id -u):$(id -g) $HOME/.kube/config  # 修改文件权限

六、安装网络插件

Kubernetes需要网络插件实现Pod间通信,推荐使用Flannel(轻量易用):

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

等待网络插件部署完成(可通过kubectl get pods -n kube-system查看插件Pod状态,需全部为Running)。

七、加入Worker节点

在每台Worker节点上,执行Master节点初始化时输出的kubeadm join命令(示例如下):

sudo kubeadm join 192.168.1.10:6443 --token abcdef.1234567890abcdef \
    --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • 参数说明
    • 192.168.1.10:6443:Master节点的IP和API Server端口;
    • --token:Master节点初始化时生成的Token(用于身份验证);
    • --discovery-token-ca-cert-hash:Master节点CA证书的SHA256哈希(用于验证Master身份)。

八、验证集群状态

  1. 检查节点状态:在Master节点上执行以下命令,确认所有节点处于Ready状态:

    kubectl get nodes
    

    输出示例:

    NAME     STATUS   ROLES           AGE   VERSION
    master   Ready    control-plane   10m   v1.28.2
    node1    Ready    <
        none>
                  5m    v1.28.2
    
  2. 检查Pod状态:查看所有命名空间的Pod是否正常运行:

    kubectl get pods --all-namespaces
    

    网络插件Pod(如kube-flannel-ds-*)需全部为Running状态。

九、部署示例应用(可选)

验证集群功能,部署一个Nginx应用:

# 创建Nginx Deployment
kubectl create deployment nginx-app --image=nginx --replicas=2

# 暴露Deployment为NodePort类型的Service(外部可通过节点IP+端口访问)
kubectl expose deployment nginx-app --name=nginx-web-svc --type=NodePort --port=80 --target-port=80

# 查看Service信息(获取NodePort端口,如31743)
kubectl get svc nginx-web-svc

通过任意节点的IP和NodePort端口(如http://< 节点IP> :31743)访问Nginx服务,若能显示Nginx欢迎页面,则说明集群部署成功。

注意事项

  • 版本兼容性:确保Docker、Kubernetes组件版本兼容(参考Kubernetes官方文档的版本支持表)。
  • 时间同步:所有节点需安装NTP服务(如chrony),确保时间同步(时间偏差过大可能导致集群异常)。
  • 备份配置:定期备份/etc/kubernetes目录(包含集群配置)和/var/lib/docker目录(包含镜像数据)。
  • 生产环境建议:使用更高可用的Master节点配置(如3节点集群),并配置持久化存储(如NFS、Ceph)以满足有状态应用需求。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: debian环境下k8s安装教程
本文地址: https://pptw.com/jishu/718207.html
如何在debian上顺利安装k8s Laravel在Debian上的多环境配置如何实现

游客 回复需填写必要信息