部署单节点 Kubernetes(K8s)集群通常用于开发环境或测试环境,而不是生产环境,因为在单节点上运行的集群无法提供高可用性保证。以下是一个简化的步骤来在一台机器上部署单节点 Kubernetes 集群:
使用 Minikube 部署单节点 K8s
Minikube 是一个工具,它使得在本地机器(比如笔记本电脑)上搭建单节点的 Kubernetes 集群变得简单易行。
# 安装 Minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 # 请替换为对应操作系统的下载链接
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# 启动 Minikube 单节点集群
minikube start --driver=<驱动名称> # 根据主机环境选择合适的虚拟化驱动,如 'virtualbox'、'docker' 或 'kvm2'
# 确保集群已启动并准备就绪
minikube status
# 在集群中部署应用
kubectl create deployment my-app --image=my-app:latest
# 查看集群中的 Pod 和服务
kubectl get pods,svc
使用 kubeadm 手动部署单节点 K8s(仅适用于 Linux)
如果你希望在物理机或虚拟机上手动部署单节点 Kubernetes,可以使用 kubeadm
工具。以下是一个简化的流程:
准备工作:
- 安装 Docker。
- 安装 Kubernetes 的二进制文件(包括
kubeadm
、kubelet
和kubectl
)。
初始化单节点集群:
# 更新系统软件包并设置 cgroup driver (如果需要)
sudo apt-get update && sudo apt-get upgrade
sudo swapoff -a
echo "systemd.unified_cgroup_hierarchy=1" | sudo tee /etc/default/grub.d/k8s.cfg
sudo update-grub
reboot
# 安装 Kubernetes 组件
sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl
# 初始化单节点控制平面
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 # 可能需要指定网络插件的 CIDR 范围
# 设置 kubectl 环境变量(根据输出提示)
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 节点加入到集群(因为是单节点,所以这里不执行此步)
# kubeadm join ...
# 检查状态和部署应用
kubectl get nodes
kubectl create deployment ...
请注意,以上命令仅为示例,并且可能需要根据具体版本和环境进行调整。在实际操作中,请参考官方文档以获取最新的安装指南。此外,在生产环境中强烈建议部署多节点集群以实现冗余和高可用性。
标签:kubectl,minikube,Kubernetes,sudo,集群,Minikube,K8s,节点 From: https://www.cnblogs.com/sjip008/p/18072369