跳到主要内容

Kubernetes 安装

介绍

Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化应用程序的部署、扩展和管理。要开始使用 Kubernetes,首先需要在你的环境中安装它。本指南将带你逐步完成 Kubernetes 的安装过程,涵盖本地和云环境的安装方法。

安装前的准备

在安装 Kubernetes 之前,确保你的系统满足以下要求:

  • 至少 2GB 的 RAM
  • 2 个 CPU 核心
  • 20GB 的可用磁盘空间
  • 已安装 Docker 或其他容器运行时
  • 已安装 kubectl 命令行工具
提示

如果你还没有安装 kubectl,可以通过以下命令安装:

bash
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

本地安装 Kubernetes

使用 Minikube

Minikube 是一个用于在本地运行单节点 Kubernetes 集群的工具,非常适合初学者学习和测试。

  1. 安装 Minikube

    在 Linux 系统上,可以使用以下命令安装 Minikube:

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

    安装完成后,使用以下命令启动 Minikube:

    bash
    minikube start

    启动成功后,Minikube 会自动配置 kubectl 以连接到本地集群。

  3. 验证安装

    使用以下命令检查集群状态:

    bash
    kubectl get nodes

    输出应显示一个节点,状态为 Ready

使用 Kind

Kind(Kubernetes IN Docker)是另一个用于在本地运行 Kubernetes 集群的工具,它使用 Docker 容器作为节点。

  1. 安装 Kind

    在 Linux 系统上,可以使用以下命令安装 Kind:

    bash
    curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.11.1/kind-linux-amd64
    chmod +x ./kind
    sudo mv ./kind /usr/local/bin/kind
  2. 创建集群

    使用以下命令创建一个单节点集群:

    bash
    kind create cluster --name my-cluster
  3. 验证安装

    使用以下命令检查集群状态:

    bash
    kubectl get nodes

    输出应显示一个节点,状态为 Ready

云环境安装 Kubernetes

使用 kubeadm

kubeadm 是一个用于在云环境中快速部署 Kubernetes 集群的工具。

  1. 安装 kubeadm

    在 Linux 系统上,可以使用以下命令安装 kubeadm

    bash
    sudo apt-get update
    sudo apt-get install -y apt-transport-https ca-certificates curl
    sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
    echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | 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
  2. 初始化集群

    使用以下命令初始化 Kubernetes 集群:

    bash
    sudo kubeadm init

    初始化完成后,kubeadm 会输出一个 kubeadm join 命令,用于将其他节点加入集群。

  3. 配置 kubectl

    使用以下命令配置 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
  4. 验证安装

    使用以下命令检查集群状态:

    bash
    kubectl get nodes

    输出应显示一个节点,状态为 Ready

实际应用场景

假设你正在开发一个微服务应用,并希望在本地测试 Kubernetes 的部署和扩展功能。你可以使用 Minikube 或 Kind 在本地启动一个 Kubernetes 集群,然后使用 kubectl 部署你的应用。

例如,以下是一个简单的 Deployment 配置文件:

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx:latest
ports:
- containerPort: 80

使用以下命令部署应用:

bash
kubectl apply -f my-app-deployment.yaml

然后,使用以下命令查看 Pod 状态:

bash
kubectl get pods

总结

通过本指南,你已经学会了如何在本地和云环境中安装 Kubernetes。无论是使用 Minikube、Kind 还是 kubeadm,你都可以快速启动一个 Kubernetes 集群,并开始部署和管理你的应用。

附加资源

练习

  1. 使用 Minikube 启动一个 Kubernetes 集群,并部署一个简单的 Nginx 应用。
  2. 使用 kubeadm 在云环境中初始化一个 Kubernetes 集群,并尝试将多个节点加入集群。
  3. 探索 Kubernetes 的其他功能,如 Service 和 Ingress,并尝试在你的集群中配置它们。