单节点安装k8s集群v1.14
时间: 2023-07-11 17:53:09 浏览: 131
要在单节点上安装 Kubernetes 集群,可以使用 Minikube 工具。Minikube 是一个容器化的 Kubernetes 集群,可以在本地机器上快速启动一个单节点 Kubernetes 集群。
以下是在单节点上安装 Kubernetes 集群的步骤:
1. 安装 Docker:在单节点上安装 Docker,这是 Kubernetes 集群所需的容器运行时。
2. 安装 kubectl:kubectl 是 Kubernetes 的命令行工具,用于管理 Kubernetes 集群。
3. 安装 Minikube:Minikube 是用于启动单节点 Kubernetes 集群的工具。
4. 启动 Minikube:使用以下命令在单节点上启动 Minikube:
```
minikube start --vm-driver=<driver>
```
<driver> 指定虚拟机驱动程序,例如 VirtualBox 或 KVM。
5. 验证 Kubernetes 集群:使用以下命令验证 Kubernetes 集群是否启动:
```
kubectl cluster-info
```
这应该会显示 Kubernetes 集群的一些信息。
现在,您可以在单节点 Kubernetes 集群上运行容器和服务。
相关问题
单节点centos7安装k8s集群v1.14
以下是在单节点 CentOS 7 上安装 Kubernetes 集群的步骤:
1. 安装 Docker:在单节点上安装 Docker,这是 Kubernetes 集群所需的容器运行时。
```
sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker
```
2. 安装 kubectl:kubectl 是 Kubernetes 的命令行工具,用于管理 Kubernetes 集群。
```
sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
```
3. 安装 Minikube:Minikube 是用于启动单节点 Kubernetes 集群的工具。
```
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
```
4. 启动 Minikube:使用以下命令在单节点上启动 Minikube:
```
minikube start --vm-driver=none
```
注意:由于是在单节点上运行,因此必须使用 --vm-driver=none 参数。
5. 验证 Kubernetes 集群:使用以下命令验证 Kubernetes 集群是否启动:
```
kubectl cluster-info
```
这应该会显示 Kubernetes 集群的一些信息。
现在,您可以在单节点 Kubernetes 集群上运行容器和服务。
部署K8S集群环境
部署 Kubernetes (K8S) 集群环境可以采用多种方式,包括使用云服务商工具(如 AWS 的 EKS、Azure 的 AKS、Google Cloud 的 GKE)、使用 `kops` 工具进行自动化部署,或者通过手动安装的方式搭建集群。以下将重点介绍手动部署 K8S 集群的基本步骤和关键配置。
### 准备工作
1. **节点准备**:确保所有节点之间网络互通,并能够访问互联网以下载必要的镜像和组件。
2. **系统要求**:
- 操作系统:推荐使用 CentOS 7 或 Ubuntu 20.04 及以上版本。
- 内核版本:建议使用 4.0 以上的内核版本。
- 安装 Docker:确保每个节点上已安装 Docker 引擎。
3. **关闭防火墙和服务**:
```bash
systemctl stop firewalld
systemctl disable firewalld
```
4. **禁用 SELinux**(仅适用于 CentOS):
```bash
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
```
5. **关闭 Swap 分区**:
```bash
swapoff -a
sed -i '/swap/d' /etc/fstab
```
### 安装 Kubernetes 组件
1. **添加 Kubernetes 仓库**:
```bash
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
```
2. **安装 kubelet、kubeadm 和 kubectl**:
```bash
yum install -y kubelet kubeadm kubectl
systemctl enable --now kubelet
```
### 初始化主节点
1. **初始化集群**:
```bash
kubeadm init --pod-network-cidr=192.168.0.0/16
```
这里使用了 `--pod-network-cidr` 参数来指定 Pod 网络的 CIDR 范围,具体值可以根据实际需求调整。
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
```
### 安装网络插件
1. **安装 Calico 网络插件**:
```bash
kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml
```
安装完成后,可以通过以下命令检查网络插件的状态:
```bash
kubectl get pods -n kube-system
```
如果看到 `calico-node` 的 Pod 处于 Running 状态,则说明网络插件部署成功。
### 添加工作节点
1. **获取加入命令**:
在主节点上执行以下命令,获取加入集群所需的命令:
```bash
kubeadm token create --print-join-command
```
2. **在工作节点上执行加入命令**:
将上一步获取到的命令复制到工作节点上执行,例如:
```bash
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
### 验证集群状态
1. **查看节点状态**:
```bash
kubectl get nodes
```
确保所有节点的状态均为 Ready。
2. **创建测试服务**:
创建一个简单的 Nginx 服务以验证集群功能:
```bash
kubectl create deployment nginx --image=nginx:1.14-alpine
kubectl expose deploy nginx --port=80 --target-port=80 --type=NodePort
```
3. **查看服务和 Pod**:
```bash
kubectl get pod,svc
```
### 用户权限管理
1. **创建用户**:
```bash
kubectl create serviceaccount dashboard-admin -n kube-system
```
2. **用户授权**:
```bash
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
```
3. **获取用户 Token**:
```bash
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
```
### 相关问题
阅读全文
相关推荐














