Kubernetes 完整安装部署指南
Kubernetes(简称 K8s)是一个开源的容器编排工具,它可以帮助我们自动化应用的部署、扩展和管理。本文将对此进行深入探讨,提供一个完整的安装部署流程,包含代码示例和流程图,帮助读者构建自己的 Kubernetes 集群。
Kubernetes 安装概述
Kubernetes 的安装过程主要包括以下几个步骤:
- 确保环境准备
- 安装 Docker
- 配置 Kubernetes 仓库
- 安装 Kubernetes 组件
- 初始化 Master 节点
- 加入 Worker 节点
- 部署示例应用
接下来,我们将详细介绍每一步。
环境准备
确保机器满足以下环境要求:
- 操作系统:Ubuntu 20.04 / CentOS 7
- CPU:至少 2 核
- 内存:至少 2 GB
- 确保防火墙与网络设置允许 K8s 通信
安装 Docker
首先,您需要在每个节点上安装 Docker,这可以用以下命令完成:
# 更新APT索引
sudo apt-get update
# 安装必要的包
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker GPG 密钥
curl -fsSL | sudo apt-key add -
# 添加 Docker APT 源
sudo add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"
# 更新APT索引
sudo apt-get update
# 安装 Docker
sudo apt-get install -y docker-ce
配置 Kubernetes 仓库
接下来,我们需要将 Kubernetes 的软件源添加到系统中:
# 添加 Kubernetes GPG 密钥
curl -s | sudo apt-key add -
# 添加 Kubernetes 源
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb kubernetes-xenial main
EOF
然后更新软件包索引:
sudo apt-get update
安装 Kubernetes 组件
安装 Kubernetes 组件:kubelet、kubeadm 和 kubectl。
sudo apt-get install -y kubelet kubeadm kubectl
# 将这些组件设为不更新
sudo apt-mark hold kubelet kubeadm kubectl
初始化 Master 节点
在 Master 节点上运行以下命令来初始化 Kubernetes 集群:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
成功初始化后,您将会看到加入 Worker 节点的命令,复制并保存这个命令以便后续使用。
然后, 您需要执行下列命令以便于 kubectl 命令可以在当前用户下使用:
# 设置 kubeconfig 环境变量
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
加入 Worker 节点
在每个 Worker 节点上执行从 Master 节点得到的加入命令,类似于:
sudo kubeadm join <Master_IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
部署示例应用
为了验证 Kubernetes 的安装是否正确,我们可以部署一个简单的 Nginx 应用:
# nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
使用以下命令部署 Nginx:
kubectl apply -f nginx-deployment.yaml
您可以使用下面的命令检查 Nginx 部署情况:
kubectl get deployments
流程图
flowchart TD
A[环境准备] --> B[安装 Docker]
B --> C[配置 Kubernetes 仓库]
C --> D[安装 Kubernetes 组件]
D --> E[初始化 Master 节点]
E --> F[加入 Worker 节点]
F --> G[部署示例应用]
安装时间计划
以下是 Kubernetes 安装的时间计划(假设总共需要6小时):
gantt
title Kubernetes 安装时间计划
dateFormat YYYY-MM-DD
section 安装准备
环境准备 :a1, 2023-10-01, 1h
安装 Docker :a2, after a1, 1h
配置 Kubernetes :a3, after a2, 1h
section Kubernetes 组件安装
安装组件 :a4, after a3, 1h
初始化 Master 节点 :a5, after a4, 1h
加入 Worker 节点 :a6, after a5, 1h
总结
在本文中,我们详细介绍了 Kubernetes 的完整安装过程,从环境准备到示例应用部署。通过上述步骤及代码示例,您可以在自己的机器上顺利搭建 Kubernetes 环境。希望这篇文章能够帮助到您,顺利进行容器化应用的管理和调度。如果您有任何问题或需要进一步的帮助,请随时与我联系!