热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

K8s部署,k8skubernetes

K8S系列(一kubeadm部署目录K8S系列(一kubeadm部署一、介绍二、准备工作三、部署四、总结一、介绍1.对于k8s这个东西的介绍,博主不在这里做过多的

K8S系列(一)kubeadm部署

目录 K8S系列(一)kubeadm部署一、 介绍二、 准备工作(每台机器都需要)三、 部署四、总结

一、 介绍 1. 对于k8s这个东西的介绍,博主不在这里做过多的赘述,因为比博主解释的清楚的博客到处都是.2. 大概总结一下就是: 它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。3. 能达到的效果: 快速部署/回滚 自动弹性伸缩 滚动升级 4. k8s能非常方便的帮助我们管理微服务集群,是我们开发和运维必备的一项知识5. 所以博主也就不多说理论了,理论知识清查看其他更专业的博客6. 博主会基于kubeadm(官方社区推出的一个用于快速部署kubernetes集群的工具)和二进制包的两种方式来对咱们的k8s做一个部署搭建7. 本文会以kubeadm的方式来部署 二、 准备工作(每台机器都需要) 机器准备 角色ip主机名master192.168.3.4hostnamectl set-hostname masternode1192.168.3.5hostnamectl set-hostname node1node2192.168.3.6hostnamectl set-hostname node2node3192.168.3.7hostnamectl set-hostname node3

关闭防火墙
2.1 systemctl stop firewalld
2.2 systemctl disable firewalld

关闭selinux(建议永久)
3.1 sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
3.2 setenforce 0 #临时

关闭swap(建议永久)
4.1 sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久
4.2 swapoff -a # 临时

对应上面表格,将hostname设置一下

本地host添加映射

cat >> /etc/hosts < /etc/sysctl.d/k8s.conf <sysctl --system # 生效

时间同步一下
8.1 yum install -y ntpdate
8.2 ntpdate time.windows.com #生效 三、 部署 安装Docker(所有节点) 1.wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo2.yum -y install docker-ce-18.06.1.ce-3.el73.systemctl enable docker4.systemctl start docker5.docker --version # 如有docker版本信息打印出来,则表示docker安装成功6.cat > /etc/docker/daemon.json < /etc/yum.repos.d/kubernetes.repo <(下面图是上面4.2图)

(下面图是上面4.5图)

部署Flannal网络插件.目的是为集群中的所有节点创建一个新的网卡,让不同节点的docker网卡都在同一个里面(master节点) 5.1 wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml #下载文件5.2 kubectl apply -f kube-flannel.yml #应用5.3 kubectl get nodes #查看集群节点状态,此时节点已经全部ready了

(下面是上方5.3的图)

到这一步,咱们已经是基于kubeadm将集群完整的搭建完了.下一步咱们会部署一个nginx来测试一下 6.1 编写nginx的deploment-yaml文件apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 3 selector: matchLabels: app: nginx-deployment template: metadata: labels: app: nginx-deployment spec: containers: - name: nginx-deployment image: nginx ports: - containerPort: 806.2 kubectl apply -f xxx.yaml #执行此命令会起3个nginx的负载,如下图.但是目前还不能提供服务,因为我们还需要配置一下svc,把端口暴露出去6.3 编写svc文件apiVersion: v1kind: Servicemetadata: name: nginxsvcspec: type: NodePort selector: app: nginx-deployment ports: - port: 80 nodePort: 30000 targetPort: 806.4 执行 kubectl create -f xxxx.yaml #生成svc6.5 执行 kubectl get pods,svc #发现下方的svc多出了一个我们自己创建的

(下面是上方6.2)

(下面是上方6.5)

访问 http://192.168.3.4:30000会发现 nginx正常运行了

四、总结 1.按照以上步骤,咱们已经完整的搭建了一个基于kubeadm的k8s集群.并且已经完成了测试2.但是这个并不是完全体,细心的朋友会发现,咱们的[master]节点目前存在单点问题,没有做高可用3.这个稍微要麻烦一下,博主后面再抽空发一篇针对高可用的部署.4.毕竟博主只是个后端开发,并不是运维人员,生产上的部署肯定不会让博主来处理的.5.但是对于咱们后端开发来说,可以不要你部署,但是流程你要知道.6.希望本文能帮到大家,如有不对的地方欢迎指正
推荐阅读
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • 在 Windows 10 中,F1 至 F12 键默认设置为快捷功能键。本文将介绍几种有效方法来禁用这些快捷键,并恢复其标准功能键的作用。请注意,部分笔记本电脑的快捷键可能无法完全关闭。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • Mongoose 5.12.10 发布:MongoDB 异步对象模型工具的新特性与修复
    Mongoose 是一款专为异步环境设计的 MongoDB 对象模型工具,支持 Promise 和回调函数。最新版本 Mongoose 5.12.10 带来了多项修复和改进,包括查询选项中的默认值设置、嵌入式判别器填充、以及 TypeScript 定义文件的优化。 ... [详细]
  • 本文详细探讨了在微服务架构中,使用Feign进行远程调用时出现的请求头丢失问题,并提供了具体的解决方案。重点讨论了单线程和异步调用两种场景下的处理方法。 ... [详细]
  • Asp.net MVC 中 Bundle 配置详解:合并与压缩 JS 和 CSS 文件
    本文深入探讨了 Asp.net MVC 中如何利用 Bundle 功能来合并和压缩 JavaScript 和 CSS 文件,提供了详细的配置步骤和示例代码,适合开发人员参考学习。 ... [详细]
  • 交互式左右滑动导航菜单设计
    本文介绍了一种使用HTML和JavaScript实现的左右可点击滑动导航菜单的方法,适用于需要展示多个链接或项目的网页布局。 ... [详细]
  • Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
    go,通过,map,filter,foreach,等,流,式,ap ... [详细]
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • 微服务架构详解及其入门指南
    本文详细介绍了微服务的基本概念、发展历程、与传统架构的区别及优势,并探讨了适合采用微服务架构的场景。此外,文章还深入分析了几个主流的微服务开发框架,特别是Spring Cloud的组成和特点。 ... [详细]
author-avatar
乳酪杳杳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有