在本地搭建一个K8s集群
时间: 2024-06-08 20:09:02 浏览: 309
搭建 Kubernetes 集群需要准备以下资源:
- 3 台或以上的 Linux 主机,它们可以是物理机或虚拟机,至少每台主机 2 核 CPU、4GB 内存、20GB 硬盘空间,且操作系统为 Ubuntu 16.04 或更高版本、CentOS 7.4 或更高版本等。
- 在每台主机上安装 Docker CE 或其他容器运行时(如 rkt、containerd 等)。
- 在每台主机上安装 kubeadm、kubelet 和 kubectl。
下面以 3 台 Ubuntu 18.04 主机为例,介绍如何搭建 Kubernetes 集群。
1. 安装 Docker CE 和相应依赖
在每台主机上执行以下命令,安装 Docker CE 和相应依赖:
```
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update && sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu
```
安装完成后,运行以下命令,验证 Docker 是否安装成功:
```
sudo docker run hello-world
```
如果能输出 "Hello from Docker!",则 Docker 安装成功。
2. 安装 kubeadm、kubelet 和 kubectl
在每台主机上执行以下命令,安装 kubeadm、kubelet 和 kubectl:
```
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
sudo apt-get update && sudo apt-get install -y kubelet=1.14.0-00 kubeadm=1.14.0-00 kubectl=1.14.0-00
sudo apt-mark hold kubelet kubeadm kubectl
```
安装完成后,运行以下命令,验证 Kubernetes 组件是否安装成功:
```
sudo systemctl enable kubelet && sudo systemctl start kubelet
sudo kubeadm version
```
如果能输出 kubeadm 的版本号,则 Kubernetes 组件安装成功。
3. 初始化 Kubernetes 主节点
在第一台主机上执行以下命令,初始化 Kubernetes 主节点:
```
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
```
其中,`--pod-network-cidr` 参数用于指定 Pod 网络的 IP 地址段,这里设置为 `10.244.0.0/16`。
执行后,会输出一些信息和命令,如:
```
Your Kubernetes master has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You can now join any number of machines by running the following on each node
as root:
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
```
将上述信息中的命令分别在当前节点和其他节点上执行,将它们加入到 Kubernetes 集群中。
4. 安装网络插件
执行以下命令,安装 Flannel 网络插件:
```
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
```
5. 验证 Kubernetes 集群
在任意一台主机上执行以下命令,查看集群状态:
```
kubectl get nodes
```
如果能输出所有的节点信息,则 Kubernetes 集群搭建成功。
至此,我们已经成功搭建了一个 Kubernetes 集群。
阅读全文