kubernetes单机版安装
时间: 2025-08-24 17:53:14 浏览: 5
### 安装 Kubernetes 单机版
在单机环境中安装 Kubernetes 通常指的是在一个节点上安装 Kubernetes,这个节点同时作为控制平面(master)和工作节点(worker)。以下步骤基于 Ubuntu 22.04 系统进行操作。
#### 安装 kubectl
`kubectl` 是 Kubernetes 的命令行工具,用于与集群进行交互。
1. **检查系统架构**:
```bash
uname -m
```
2. **下载最新版本的 `kubectl`**:
```bash
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
```
3. **验证下载的 `kubectl` 文件**(可选):
```bash
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
```
如果验证通过,输出应为 `kubectl: OK`;如果验证失败,`sha256sum` 将以非零值退出,并显示错误信息[^1]。
4. **安装 `kubectl`**:
```bash
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
```
#### 安装 Docker
Docker 是 Kubernetes 的容器运行时之一。
1. **安装 Docker**:
```bash
sudo apt-get install -y docker.io
```
2. **启动 Docker 服务**:
```bash
systemctl start docker
```
3. **设置 Docker 为开机自启动**:
```bash
systemctl enable docker
```
#### 初始化 Kubernetes 集群
使用 `kubeadm` 工具来初始化 Kubernetes 集群。
1. **初始化集群**:
```bash
sudo kubeadm init
```
2. **配置 `kubectl`**:
```bash
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 之间的网络通信。
1. **应用 Weave Net 网络插件**:
```bash
kubectl apply -f https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')
```
#### 配置 Master 节点作为 Worker 节点
默认情况下,Kubernetes 不会在 Master 节点上调度 Pod。
1. **移除 Master 节点的污点**:
```bash
kubectl taint nodes --all node-role.kubernetes.io/master-
```
#### 验证安装
1. **查看节点状态**:
```bash
kubectl get nodes
```
2. **部署一个测试应用**:
```bash
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
```
3. **查看服务和 Pod 状态**:
```bash
kubectl get pods,svc
```
###
阅读全文
相关推荐



















