CentOS上部署Kubernetes集群

前言:

Kubernetes(通常简称为K8s)是一个开源的容器编排和管理平台,最初由Google开发并于2014年发布,目前由云原生计算基金会(Cloud Native Computing Foundation,CNCF)进行维护。它提供了一个可扩展的、高度可靠的系统,用于管理和部署容器化应用程序。

背景: 在过去的几年中,容器化技术(如Docker)的兴起引发了应用程序交付和部署的革命。容器化技术使开发人员能够将应用程序和其依赖项打包到一个独立、可移植的容器中,并在不同环境中进行部署,无论是在开发环境、测试环境还是生产环境。这种方式简化了应用程序的交付流程,提高了开发效率和应用程序的可移植性。

然而,随着容器数量的增加,管理和编排这些容器变得更加复杂。这时就需要一个强大的工具来自动化容器的部署、伸缩、负载均衡和故障恢复等任务,从而提供可靠的、可扩展的容器管理平台。这就是Kubernetes的出现背景。

Kubernetes的目标是简化容器化应用程序的部署和管理。它提供了一组强大的功能和特性,包括:

  • 自动化容器的部署、伸缩和调度。
  • 故障自动恢复和容器替换。
  • 服务发现和负载均衡。
  • 配置和存储管理。
  • 跨主机和跨云平台的容器网络连接。
  • 扩展性和可扩展性。

Kubernetes采用了一种分布式的架构,其中包含Master节点和多个Worker节点。Master节点负责管理和控制整个集群,包括调度容器、监控集群状态和处理集群级别的操作。Worker节点是运行容器的主机,它们负责实际运行和管理容器。

Kubernetes的生态系统非常活跃,有许多附加组件和工具可以扩展和增强其功能。例如,Kubernetes可以与不同的容器运行时(如Docker、containerd)和网络插件(如Calico、Flannel)集成,以满足不同场景和需求的要求。

安装部署:

1、安装docker

sudo yum install -y docker                  # 安装Docker
sudo systemctl enable docker               # 启用Docker服务
sudo systemctl start docker                # 启动Docker服务

2、安装kubernetes组件

$ sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF   # 创建Kubernetes的Yum仓库配置文件
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

sudo yum install -y kubelet kubeadm kubectl      # 安装Kubernetes组件
sudo systemctl enable kubelet                    # 启用Kubelet服务
sudo systemctl start kubelet                     # 启动Kubelet服务

3、初始化Master节点

sudo kubeadm init --pod-network-cidr=10.244.0.0/16   # 初始化Master节点

4、配置网络插件:

kubectl apply -f https://docs.projectcalico.org/v3.18/manifests/calico.yaml   # 部署Calico网络插件

5、将节点加入集群:

在其他节点上运行Master节点初始化时生成的加入命令。示例:
sudo kubeadm join <Master节点IP>:<Master节点端口> --token <令牌> --discovery-token-ca-cert-hash <证书哈希> # 将节点加入集群

6、部署Kubernetes Dashboard:

运行以下命令部署Kubernetes Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml   # 部署Kubernetes Dashboard
kubectl proxy   # 创建代理
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/   # 访问Dashboard

 

posted @ 2023-06-18 09:52  美好生活我心往之  阅读(52)  评论(0编辑  收藏  举报