Kubernetes(K8s)安装过程的步骤,概述如下:
1. 准备环境
- 集群节点: 确保至少有两台或更多的服务器,这些节点可以是物理机或云主机。集群需要至少一个控制平面节点和多个工作节点。
- 操作系统: 选定合适的操作系统(如Ubuntu、CentOS等)。
- 容器运行时环境: 安装 Docker 或其他容器运行时(如 containerd)。
2. 安装并配置kubelet、kubeadm和kubectl
-
在所有集群节点上,安装 Kubernetes 组件:
kubelet
(负责节点管理),kubeadm
(用于集群初始化和节点加入),以及kubectl
(命令行工具用于与集群交互)。 -
在Linux环境中,通常使用如下命令安装Kubernetes组件:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /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. 初始化集群
-
选择一个节点作为 主节点,使用
kubeadm init
命令初始化集群:sudo kubeadm init --pod-network-cidr=10.244.0.0/16
--pod-network-cidr
用于指定Pod网络的CIDR范围,取决于你选择的网络插件(例如Calico、Flannel等)。- 初始化命令会启动控制平面组件(API Server、etcd、Controller Manager、Scheduler等)并生成集群配置文件(
kubeconfig
),该文件需要用于连接和管理集群。
4. 配置网络插件
-
Kubernetes 默认不会安装网络插件,因此需要手动选择并配置网络插件,常见的插件包括:
- Calico
- Flannel
- Weave Net
安装网络插件后,Pod 才能在集群内进行通信。例如,使用 Flannel 插件可以运行如下命令:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
5. 将工作节点加入集群
-
在每个 工作节点 上运行
kubeadm join
命令,将工作节点添加到集群中:在初始化主节点时,会给出一条
kubeadm join
命令,复制并在每个工作节点上执行。kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
6. 验证集群状态
-
使用
kubectl
检查所有节点的状态,确保它们都成功加入集群并显示为Ready
状态:kubectl get nodes
7. 配置附加组件(可选)
- 部署日志收集、监控系统、Ingress 控制器等附加功能。常见的附加组件包括:
- Prometheus 和 Grafana(用于监控)
- Elasticsearch、Fluentd 和 Kibana(用于日志收集)
- Ingress Controller(用于外部访问集群内的服务)
8. 配置外部访问(可选)
-
如果需要将集群内的服务暴露给外部,可以配置
LoadBalancer
类型的Service
或使用Ingress Controller
进行管理。例如,部署一个 Nginx Ingress Controller:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml
9. 云服务商的 Kubernetes 服务(可选)
- 如果使用云服务提供商(如 Google Cloud、AWS 或 Azure),可以选择使用它们提供的托管 Kubernetes 服务(如 GKE、EKS 或 AKS)。这些服务通常提供简化的安装和自动化工具,帮助用户更轻松地配置和管理 Kubernetes 集群。
通过这些步骤,你可以根据不同的需求和环境顺利部署和配置一个 Kubernetes 集群。
标签:kubectl,Kubernetes,哪些,apt,集群,kubeadm,安装,节点 From: https://www.cnblogs.com/leojazz/p/18683234