huanayun
hengtianyun
vps567
莱卡云

[Linux操作系统]Linux 系统下部署 Kubernetes 集群的完整指南|linux kubectl命令,linux 部署 kubernetes 集群,Linux环境下手把手部署Kubernetes集群,kubectl命令详解与实践

PikPak

推荐阅读:

[AI-人工智能]免翻墙的AI利器:樱桃茶·智域GPT,让你轻松使用ChatGPT和Midjourney - 免费AIGC工具 - 拼车/合租账号 八折优惠码: AIGCJOEDISCOUNT2024

[AI-人工智能]银河录像局: 国内可靠的AI工具与流媒体的合租平台 高效省钱、现号秒发、翻车赔偿、无限续费|95折优惠码: AIGCJOE

[AI-人工智能]免梯免翻墙-ChatGPT拼车站月卡 | 可用GPT4/GPT4o/o1-preview | 会话隔离 | 全网最低价独享体验ChatGPT/Claude会员服务

[AI-人工智能]边界AICHAT - 超级永久终身会员激活 史诗级神器,口碑炸裂!300万人都在用的AI平台

本文详细介绍在Linux操作系统下如何部署Kubernetes集群,涵盖kubectl命令的使用及具体部署步骤,旨在帮助用户高效地在Linux环境中搭建和管理Kubernetes集群。

本文目录导读:

  1. 环境准备
  2. 初始化 Kubernetes 集群
  3. 安装网络插件
  4. 添加工作节点
  5. 配置存储
  6. 部署应用

Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序,在 Linux 系统下部署 Kubernetes 集群,可以帮助企业高效地管理容器化应用,提高运维效率,本文将详细介绍在 Linux 系统下部署 Kubernetes 集群的步骤,包括环境准备、安装 Kubernetes 组件、配置网络和存储等。

环境准备

1、准备一台或多台 Linux 服务器,建议使用 Ubuntu 18.04 或 CentOS 7.6 及以上版本。

2、安装 Docker:Kubernetes 需要依赖 Docker 来运行容器,在终端执行以下命令安装 Docker:

Ubuntu:

   sudo apt-get update
   sudo apt-get install docker.io

CentOS:

   sudo yum install -y yum-utils
   sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
   sudo yum install -y docker-ce

3、启动 Docker 并设置为开机自启:

   sudo systemctl start docker
   sudo systemctl enable docker

4、安装 kubeadm、kubelet 和 kubectl:kubeadm 用于初始化 Kubernetes 集群,kubelet 用于运行集群中的节点,kubectl 用于与集群进行交互。

Ubuntu:

   sudo apt-get update
   sudo apt-get install -y apt-transport-https ca-certificates curl
   curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
   cat <<EOF | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
   deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
   EOF
   sudo apt-get update
   sudo apt-get install -y kubelet kubeadm kubectl

CentOS:

   sudo cat <<EOF > /etc/yum.repos.d/kubernetes.repo
   [kubernetes]
   name=Kubernetes
   baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/centos/7/
   enabled=1
   gpgcheck=1
   repo_gpgcheck=1
   gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
   EOF
   sudo yum install -y kubelet kubeadm kubectl

5、设置 kubeadm、kubelet 和 kubectl 为开机自启:

   sudo systemctl enable kubelet
   sudo systemctl start kubelet

初始化 Kubernetes 集群

1、初始化主节点:

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

执行上述命令后,系统会自动生成一个 token,用于后续添加工作节点。

2、设置普通用户权限:

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

安装网络插件

Kubernetes 集群需要安装网络插件来实现不同节点之间的通信,这里我们使用 Calico 作为网络插件。

1、下载 Calico 插件的 YAML 文件:

   curl -O https://docs.projectcalico.org/manifests/calico.yaml

2、应用 YAML 文件:

   sudo kubectl apply -f calico.yaml

添加工作节点

1、在工作节点上执行以下命令加入集群:

   sudo kubeadm join <主节点 IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

<主节点 IP> 是主节点的 IP 地址,<token> 是初始化主节点时生成的 token,<hash> 是主节点的 ca 证书哈希值。

2、检查节点状态:

   sudo kubectl get nodes

配置存储

Kubernetes 集群需要配置存储来持久化数据,这里我们使用 Local Persistent Volume(本地持久卷)。

1、创建存储类:

   cat <<EOF | sudo kubectl apply -f -
   apiVersion: storage.k8s.io/v1
   kind: StorageClass
   metadata:
     name: local-storage
   provisioner: kubernetes.io/no-provisioner
   volumeBindingMode: WaitForFirstConsumer
   EOF

2、创建 PersistentVolume(持久卷):

   cat <<EOF | sudo kubectl apply -f -
   apiVersion: v1
   kind: PersistentVolume
   metadata:
     name: example-pv
   spec:
     capacity:
       storage: 1Gi
     accessModes:
       - ReadWriteOnce
     persistentVolumeReclaimPolicy: Retain
     storageClassName: local-storage
     local:
       path: /mnt/disks/ssd1
   EOF

3、创建 PersistentVolumeClaim(持久卷声明):

   cat <<EOF | sudo kubectl apply -f -
   apiVersion: v1
   kind: PersistentVolumeClaim
   metadata:
     name: example-pvc
   spec:
     accessModes:
       - ReadWriteOnce
     resources:
       requests:
         storage: 1Gi
     storageClassName: local-storage
   EOF

部署应用

1、创建 Deployment:

   cat <<EOF | sudo kubectl apply -f -
   apiVersion: apps/v1
   kind: Deployment
   metadata:
     name: example-deployment
   spec:
     replicas: 1
     selector:
       matchLabels:
         app: example
     template:
       metadata:
         labels:
           app: example
       spec:
         containers:
         - name: example
           image: nginx:latest
           ports:
           - containerPort: 80
           volumeMounts:
           - name: example-storage
             mountPath: /usr/share/nginx/html
       volumes:
       - name: example-storage
         persistentVolumeClaim:
           claimName: example-pvc
   EOF

2、检查应用状态:

   sudo kubectl get pods

至此,您已经成功在 Linux 系统下部署了一个 Kubernetes 集群,您可以在此基础上继续扩展集群、部署更多应用,以及进行其他相关操作。

中文相关关键词:Linux, 部署, Kubernetes, 集群, 主节点, 工作节点, 网络插件, Calico, 存储类, 持久卷, 持久卷声明, Deployment, 应用, YAML, token, 配置, 环境准备, Docker, kubeadm, kubelet, kubectl, 初始化, 加入集群, 检查状态, 扩展集群, 运维, 容器编排, 自动化部署, 高效管理, 容器化应用, 运维效率, 服务器, 通信, 持久化数据, 本地存储, 读写权限, 资源请求, 集群管理, 集群监控, 应用部署, 集群维护, 集群优化, 集群扩展, 集群安全性, 集群性能, 集群稳定性, 集群备份, 集群迁移, 集群监控工具, 集群故障排查, 集群自动化部署, 集群资源调度, 集群负载均衡, 集群网络优化, 集群存储优化, 集群安全性策略, 集群性能监控, 集群故障转移, 集群备份与恢复, 集群监控平台, 集群日志管理, 集群资源管理, 集群运维工具

bwg Vultr justhost.asia racknerd hostkvm pesyun Pawns


本文标签属性:

Linux操作系统:linux操作系统的特点

Kubernetes集群部署:kubernetes集群部署组件

linux 部署 kubernetes 集群:kubernetes集群安装

原文链接:,转发请注明来源!