阅读量:4
如何在Linux上快速安装Kubernetes
Kubernetes(简称K8s)的安装流程可通过脚本自动化或专用工具大幅简化,以下是针对不同场景的快速安装方案,覆盖从新手到生产环境的常见需求。
1. 使用MicroK8s(Ubuntu,最快方法)
MicroK8s是Canonical推出的轻量级Kubernetes发行版,采用Snap包管理,一键安装且无需复杂配置,适合本地开发、测试或资源有限的场景。
- 安装MicroK8s:打开终端,执行以下命令(需联网):
sudo snap install microk8s --classic--classic参数允许MicroK8s以root权限运行,简化权限配置。 - 启用核心组件:安装完成后,启用Dashboard(可视化)、DNS(服务发现)、Registry(私有镜像仓库)等常用组件:
microk8s enable dashboard dns registry - 验证安装状态:执行以下命令检查集群状态,若显示“running”则表示安装成功:
microk8s status - 部署示例应用:快速测试集群功能,部署一个Nginx应用:
访问microk8s kubectl create deployment nginx --image=nginx microk8s kubectl expose deployment nginx --port=80 --type=ClusterIP microk8s kubectl get service nginx # 查看服务端口http://<节点IP>:(通过kubectl get service获取端口)即可看到Nginx欢迎页面。
2. 使用Kubeadm(Ubuntu/CentOS,通用方法)
Kubeadm是Kubernetes官方提供的集群部署工具,支持自定义配置,适合需要灵活调整的场景(如多节点集群、特定版本部署)。
- 前置准备:
- 更新系统:确保系统软件包为最新版本:
sudo apt update && sudo apt upgrade -y # Ubuntu sudo yum update -y # CentOS - 安装Docker:Kubernetes默认使用Docker作为容器运行时,安装最新稳定版:
sudo apt install -y docker.io # Ubuntu sudo yum install -y docker # CentOS sudo systemctl start docker && sudo systemctl enable docker - 禁用Swap分区:Kubernetes要求关闭Swap分区,避免节点资源调度异常:
sudo swapoff -a sudo sed -i '/ swap / s/1/g' /etc/fstab # 永久禁用
- 更新系统:确保系统软件包为最新版本:
- 安装Kubeadm、Kubelet、Kubectl:这三个组件是Kubernetes核心,通过官方源安装:
sudo apt install -y apt-transport-https curl # Ubuntu 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 sudo apt update sudo apt install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl # 锁定版本,防止自动更新 - 初始化Master节点:在Master节点执行以下命令,初始化Kubernetes集群(
--pod-network-cidr指定Pod网络CIDR,需与后续网络插件匹配):
初始化完成后,会输出sudo kubeadm init --pod-network-cidr=10.244.0.0/16kubeadm join命令(包含Token和CA证书哈希),务必保存,用于后续加入Worker节点。 - 配置kubectl:将集群配置文件复制到当前用户目录,使kubectl能访问集群:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 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 - 加入Worker节点(可选):在Worker节点执行Master节点输出的
kubeadm join命令,例如:加入后,Master节点的sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkubectl get nodes会显示Worker节点状态为“Ready”。
3. 使用一键安装脚本(简化操作)
若不想手动执行每一步,可使用社区提供的一键安装脚本,自动完成环境配置、组件安装和集群初始化。
- Ubuntu/Debian脚本示例:将以下脚本保存为
install_k8s.sh,赋予执行权限后运行:运行脚本:#!/bin/bash sudo apt update sudo apt install -y docker.io apt-transport-https curl 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 sudo apt install -y kubelet kubeadm kubectl sudo systemctl enable docker kubelet sudo kubeadm init --pod-network-cidr=10.244.0.0/16 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlbash install_k8s.sh。 - CentOS(Sealos工具):Sealos是一键部署Kubernetes的工具,支持CentOS 7/8,操作步骤如下:
注意:一键脚本虽便捷,但需提前了解其原理,避免生产环境使用未知来源的脚本。wget https://github.com/labring/sealos/releases/download/v3.5.4/sealos_linux-amd64 chmod +x sealos_linux-amd64 ./sealos_linux-amd64 init --master 192.168.1.100 --pkg-url registry.cn-hangzhou.aliyuncs.com/labring/kubernetes:v1.28.2
安装后验证
无论使用哪种方法,安装完成后均需通过以下命令验证集群状态:
kubectl get nodes # 查看节点状态(应为“Ready”)
kubectl run nginx --image=nginx --port=80 # 部署测试应用
kubectl expose deployment nginx --port=80 --type=NodePort # 暴露服务
kubectl get service nginx # 获取服务端口
访问http://<节点IP>:即可看到Nginx欢迎页面,确认Kubernetes集群正常运行。
以上就是关于“如何在Linux上快速安装Kubernetes”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm