热门标签 | 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.希望本文能帮到大家,如有不对的地方欢迎指正
推荐阅读
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • Uniswap 与 MoonPay 合作,引入法币交易功能。本文探讨这一合作对用户进入加密货币领域的安全性及便利性的影响。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 解决Win10 1709版本文件共享安全警告问题
    每当Windows 10发布新版本时,由于兼容性问题往往会出现各种故障。近期,一些用户在升级至1709版本后遇到了无法访问共享文件夹的问题,系统提示‘文件共享不安全,无法连接’。本文将提供多种解决方案,帮助您轻松解决这一难题。 ... [详细]
  • 在测试软件或进行系统维护时,有时会遇到电脑蓝屏的情况,即便使用了沙盒环境也无法完全避免。本文将详细介绍常见的蓝屏错误代码及其解决方案,帮助用户快速定位并解决问题。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 深入解析Dubbo:使用与源码分析
    本文详细介绍了Dubbo的使用方法和源码分析,涵盖其架构设计、核心特性和调用流程。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • RocketMQ 运维监控实践指南
    本文详细介绍了如何实现 RocketMQ 的运维监控,包括监控平台的搭建、常用运维命令及其具体用法。适合对 RocketMQ 监控感兴趣的读者参考。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
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社区 版权所有