跳转到内容

Kubernetes安装

来自代码酷

Kubernetes安装[编辑 | 编辑源代码]

Kubernetes(简称K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。安装Kubernetes是学习和使用它的第一步。本指南将详细介绍如何在不同环境中安装Kubernetes,并提供详细的步骤和示例。

安装前准备[编辑 | 编辑源代码]

在安装Kubernetes之前,需要满足以下基本要求:

  • 一台或多台运行Linux的机器(推荐Ubuntu、CentOS或RHEL)。
  • 每台机器至少2GB内存和2个CPU核心。
  • 网络连接正常,机器之间可以互相通信。
  • 安装Docker或其他容器运行时(如containerd)。
  • 禁用交换分区(Kubernetes不支持交换内存)。

检查系统要求[编辑 | 编辑源代码]

运行以下命令检查系统配置是否符合要求:

# 检查内存
free -h

# 检查CPU
lscpu

# 检查交换分区
swapon --show

如果交换分区已启用,可以通过以下命令临时禁用:

sudo swapoff -a

安装方法[编辑 | 编辑源代码]

Kubernetes可以通过多种方式安装,以下是常见的几种方法:

1. 使用kubeadm安装(推荐)[编辑 | 编辑源代码]

`kubeadm`是Kubernetes官方提供的工具,用于快速搭建集群。

安装步骤[编辑 | 编辑源代码]

1. 安装Docker或其他容器运行时:

sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker

2. 安装`kubeadm`、`kubelet`和`kubectl`:

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

3. 初始化主节点:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

4. 配置`kubectl`:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

5. 安装网络插件(如Flannel):

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

2. 使用Minikube(单节点开发环境)[编辑 | 编辑源代码]

`Minikube`是一个轻量级的Kubernetes实现,适合本地开发和测试。

安装步骤[编辑 | 编辑源代码]

1. 安装Minikube:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

2. 启动Minikube:

minikube start --driver=docker

3. 验证安装:

kubectl get nodes

3. 使用kubespray(生产环境)[编辑 | 编辑源代码]

`kubespray`是一个基于Ansible的工具,用于自动化部署生产级Kubernetes集群。

安装步骤[编辑 | 编辑源代码]

1. 克隆kubespray仓库:

git clone https://github.com/kubernetes-sigs/kubespray.git
cd kubespray

2. 安装依赖:

sudo apt-get install -y python3-pip
pip install -r requirements.txt

3. 配置集群:

cp -rfp inventory/sample inventory/mycluster
declare -a IPS=(192.168.1.10 192.168.1.11 192.168.1.12)
CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

4. 部署集群:

ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml

验证安装[编辑 | 编辑源代码]

安装完成后,运行以下命令验证集群状态:

kubectl get nodes
kubectl get pods --all-namespaces

输出应显示所有节点为`Ready`状态,且核心组件(如`kube-system`命名空间中的Pod)运行正常。

常见问题及解决方案[编辑 | 编辑源代码]

  • 问题:kubeadm init失败
 检查Docker是否运行,并确保防火墙未阻止端口6443。
  • 问题:节点无法加入集群
 确保主节点的令牌有效,且工作节点可以访问主节点的API服务器。
  • 问题:网络插件未正常工作
 重新应用网络插件的YAML文件,并检查Pod日志。

实际案例[编辑 | 编辑源代码]

以下是一个简单的Nginx部署示例,验证Kubernetes集群是否正常工作:

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get svc nginx

访问`http://<节点IP>:<NodePort>`,应看到Nginx欢迎页面。

总结[编辑 | 编辑源代码]

Kubernetes的安装是使用该平台的第一步。本指南介绍了三种常见的安装方法:`kubeadm`(推荐)、`Minikube`(开发环境)和`kubespray`(生产环境)。根据需求选择合适的安装方式,并确保集群正常运行后,即可开始部署和管理容器化应用。

扩展阅读[编辑 | 编辑源代码]