二、K8S详细介绍-部署方式

这篇具有很好参考价值的文章主要介绍了二、K8S详细介绍-部署方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kubernetes(K8S)是一种开源的容器编排平台,它可以自动化地部署、扩展和管理容器化应用程序。在现代化的云计算环境中,K8S已经成为了一个非常流行的工具,用于管理和部署容器化应用程序。本文将详细介绍K8S的部署方式,包括单节点部署、多节点部署和高可用部署。

一、单节点部署

单节点部署是指在一台服务器上安装和配置K8S,通常用于测试或开发目的。下面是单节点部署的步骤:

安装Docker
K8S使用Docker作为容器运行时,所以首先需要安装Docker。可以通过以下命令安装Docker:

apt-get update
apt-get install docker.io

安装K8S组件
K8S由多个组件组成,包括kubelet、kube-proxy、kube-apiserver、kube-scheduler和kube-controller-manager等。可以通过以下命令安装K8S组件:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl kubernetes-cni

初始化K8S
在单节点部署中,K8S将作为Master和Node节点运行。可以通过以下命令初始化K8S:

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

其中,–pod-network-cidr参数指定了K8S集群中Pod的IP地址范围。

配置K8S
初始化后,K8S将生成一些配置文件,可以通过以下命令配置K8S:

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

安装网络插件
K8S使用网络插件来管理Pod之间的网络通信。可以使用Calico、Flannel、Weave Net等网络插件。在这里,我们使用Flannel作为网络插件:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml

部署应用程序
在K8S中,应用程序以Pod的形式运行。可以通过以下命令创建一个Pod:

kubectl run nginx --image=nginx --port=80

暴露服务
Pod只能通过Cluster IP访问,如果需要从外部访问Pod,需要暴露服务。可以通过以下命令暴露服务:

kubectl expose pod nginx --type=NodePort --port=80

二、多节点部署

多节点部署是指在多台服务器上安装和配置K8S,可以实现更高的可用性和可伸缩性。下面是多节点部署的步骤:

安装Docker
同单节点部署。

安装K8S组件
同单节点部署。

初始化K8S
在多节点部署中,需要将一台服务器作为Master节点,其他服务器作为Node节点。可以通过以下命令在Master节点上初始化K8S:

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

初始化后,会显示如下信息:

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

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

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join <ip_address>:<port> --token <token> --discovery-token-ca-cert-hash <hash>

其中,<ip_address>和是Master节点的IP地址和端口号,和是用于将Node节点加入K8S集群的凭据。

配置K8S
同单节点部署。

加入Node节点
在其他服务器上安装Docker和K8S组件,然后使用以下命令将Node节点加入K8S集群:

y
kubeadm join <ip_address>:<port> --token <token> --discovery-token-ca-cert-hash <hash>

其中,<ip_address>和是Master节点的IP地址和端口号,和是用于将Node节点加入K8S集群的凭据。

安装网络插件
同单节点部署。

部署应用程序
同单节点部署。

暴露服务
同单节点部署。

三、高可用部署

高可用部署是指在多台服务器上部署多个Master节点,以提高K8S的可用性和容错性。下面是高可用部署的步骤:

安装Docker
同单节点部署。

安装K8S组件
同单节点部署。

初始化K8S
在高可用部署中,需要安装多个Master节点。可以通过以下命令在第一台服务器上初始化K8S:

kubeadm init --control-plane-endpoint "LOAD_BALANCER_DNS:LOAD_BALANCER_PORT" --upload-certs --pod-network-cidr=10.244.0.0/16

其中,LOAD_BALANCER_DNS和LOAD_BALANCER_PORT是负载均衡器的DNS名称和端口号,–upload-certs参数将证书上传到etcd中,–pod-network-cidr参数指定了K8S集群中Pod的IP地址范围。

初始化后,会显示如下信息:

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

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

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join <ip_address>:<port> --token <token> --discovery-token-ca-cert-hash <hash>

其中,<ip_address>和是第一台Master节点的IP地址和端口号,和是用于将其他Master节点加入K8S集群的凭据。

配置K8S
同单节点部署。

加入其他Master节点
在其他服务器上安装Docker和K8S组件,然后使用以下命令将其他Master节点加入K8S集群:

kubeadm join LOAD_BALANCER_DNS:LOAD_BALANCER_PORT --token <token> --discovery-token-ca-cert-hash <hash> --control-plane --certificate-key <certificate_key>

其中,LOAD_BALANCER_DNS和LOAD_BALANCER_PORT是负载均衡器的DNS名称和端口号,和是用于将其他Master节点加入K8S集群的凭据,<certificate_key>是上传证书时生成的证书密钥。

安装网络插件
同单节点部署。

部署应用程序
同单节点部署。

暴露服务
同单节点部署。

总结

K8S是一个非常强大的容器编排平台,可以自动化地部署、扩展和管理容器化应用程序。本文详细介绍了K8S的部署方式,包括单节点部署、多节点部署和高可用部署。无论是在测试还是生产环境中,选择合适的部署方式都是非常重要的。文章来源地址https://www.toymoban.com/news/detail-411097.html

到了这里,关于二、K8S详细介绍-部署方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubernetes(K8s 1.28.x)部署---超详细

    目录 一、基础环境配置(所有主机均要配置) 1、配置IP地址和主机名、hosts解析 2、关闭防火墙、禁用SELinux 3、安装常用软件 4、配置时间同步 5、禁用Swap分区 6、修改linux的内核参数 7、配置ipvs功能 二、容器环境操作 1、定制软件源 2、安装最新版docker 3、配置docker加速器 4、

    2024年02月11日
    浏览(34)
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.27.0版本

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 主机名 IP地址 操作系统 master-1 16.32.15.200 CentOS7.8 node-1 16.32.15.201 CentOS7.8 node-2 16.32.15.202 CentOS7.8 1、关闭防火墙 2、配置域名解

    2024年02月08日
    浏览(66)
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.26.0版本

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 容器运行时本次使用containerd。 主机名 IP地址 操作系统 master-1 16.32.15.200 CentOS7.8 node-1 16.32.15.201 CentOS7.8 node-2 16.32.15.202 CentOS

    2024年02月10日
    浏览(36)
  • kubernetes(k8s)集群超级详细超全安装部署手册

    针对机器已安装过k8s的情况,如未安装过,请忽略。 k8s重置命令(如果初始化的过程出现了错误就使用重置命令): kubeadm reset 1.1 准备工作(所有的节点都执行) 编辑4台服务器的  /etc/hosts  文件 ,添加下面内容(每个节点都执行一遍): 设置hostname(以node1为例): 或者修

    2024年03月22日
    浏览(38)
  • Centos7安装部署k8s(kubernetes)最新v1.27.1版本超详细安装教程

    从零开始的k8s安装 硬件配置要求 cpu = 2核 硬盘 = 20G 内存 = 2G 节点数量建议为奇数(3, 5, 7, 9等)(1台好像也能搭,没试过) 以下命令出除特殊要求外,其余都建议在master主机执行 本教程配置如下 主机名 IP 配置 master 192.168.42.150 2核+2G+20G node1 192.168.42.151 2核+2G+20G node2 192.168.

    2024年02月11日
    浏览(47)
  • Kubernetes(k8s)实战:Kubernetes(k8s)部署Springboot项目

    wordpress是用于快速搭建博客系统。 该yaml文件创建一个mysql,并且生成一个service,service对外暴露的端口是3306 我们发现,搭建成功了,用浏览器访问192.168.56.101:30493,发现访问成功了! 在集群中,pod之间可以通过service 的name进行访问,不仅仅是ip,这就意味着,service中不仅帮

    2024年02月12日
    浏览(86)
  • Kubernetes(k8s)概念介绍

    K8s是一个开源的用于管理云平台中多个主机上的容器化的应用,k8s的目标是让部署容器化的应用简单并且高效,k8s提供了应用部署,规划,更新,维护的一种机制。k8s是google在2014年开源的容器化集群部署管理系统,使用k8s可以进行容器化应用部署,它有利于应用扩展,k8s目标

    2024年02月15日
    浏览(32)
  • k8s(kubernetes)介绍篇

    Kubernetes 是一个全新的基于容器技术的分布式架构解决方案,是 Google 开源的一个容器集群管理系统,Kubernetes 简称 K8S。 Kubernetes 是一个一站式的完备的分布式系统开发和支撑平台,更是一个开放平台,对现有的编程语言、编程框架、中间件没有任何侵入性。 Kubernetes 提

    2024年02月10日
    浏览(29)
  • Kubernetes(K8s)使用 kubeadm 方式搭建多 master 高可用 K8s 集群

    本篇主要针对上篇文章的单 master 节点的 K8s 集群上搭建多 master 节点集群 和 LB 负载均衡服务器。 Kubernetes(K8S)集群搭建基础入门教程 虚拟机 IP 地址: IP 操作系统 主机名称 192.168.2.121 centos7.9 k8s-master01 192.168.2.124 centos7.9 k8s-master02 192.168.2.125 centos7.9 k8s-node01 192.168.2.126 centos

    2023年04月26日
    浏览(39)
  • 【云原生 • Kubernetes】认识 k8s、k8s 架构、核心概念点介绍

    目录 一、Kubernetes 简介 二、Kubernetes 架构 三、Kunbernetes 有哪些核心概念? 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服务 service 6. 发布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念总结 Kubernetes 简称 k8s,是支持云原生部署的一个平台,起源于谷歌。谷歌早在十几

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包