一.前置知识点 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群. 官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ 二进制包 从github下载发行版的二进制包,手动部署每个组件,组成Kuberne…
七.高可用架构(扩容多Master架构) Kubernetes作为容器集群系统,通过健康检查+重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分布式部署,并保持预期副本数,根据Node失效状态自动在其他Node拉起Pod,实现了应用层的高可用性. 针对Kubernetes集群,高可用性还应包含以下两个层面的考虑:Etcd数据库的高可用性和Kubernetes Master组件的高可用性. 而Etcd我们已经采用3个节点组建集群实现高可用,本节将对Master节点高可用进行说明和实施…
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和发布最前沿的科技信息.公众号的核心理念是:分享,我们认为只有分享才能使我们的团体更强大.如果你想第一时间获取最新技术文章,欢迎关注我们! 公众号作者 Mike,一个月薪 3000 的杂工.从事 IT 相关工作 15+ 年,热衷于互联网技术领域,认同开源文化,对运维相关技术有自己独特的见解.很愿意将自…
kubeadm安装kubernetes高可用集群搭建  第一步:首先搭建etcd集群 yum install -y etcd 配置文件 /etc/etcd/etcd.confETCD_NAME=infra1 ETCD_DATA_DIR="/var/lib/etcd" ETCD_LISTEN_PEER_URLS="https://172.20.0.113:2380" ETCD_LISTEN_CLIENT_URLS="https://172.20.0.113:…
参考并感谢 官方文档 https://hub.docker.com/_/mysql y0ngb1n https://www.jianshu.com/p/0439206e1f28 vito0319 https://blog.csdn.net/warrior_0319/article/details/80805030 下载mysql镜像(不带tag标签则表示下载latest版本) docker pull mysql/mysql-server 配置my.cnf 文件 my.cnf文件参考nginx的临…
三台master,四台node,系统版本为CentOS7 IP ROLE 172.60.0.226 master01 172.60.0.86 master02 172.60.0.106 master03 172.60.0.227 node01 172.60.0.228 node02 172.60.0.44 node03 172.60.0.46 node04 这里安装的kubenetes版本为1.5.1,docker版本为1.12.3 三个master节点通过keepalived实现高可用.结构如…
使用 3 台阿里云服务器(k8s-master0, k8s-master1, k8s-master2)作为 master 节点搭建高可用集群,负载均衡用的是阿里云 SLB ,需要注意的是由于阿里云负载均衡不支持后端服务器自己转发给自己,所以 master 节点的 control-plane-endpoint 不能走负载均衡. 先在 k8s-master0 上安装好 k8s ,安装步骤见 Ubuntu 安装 k8s 三驾马车 kubelet kubeadm kubectl ,然后打快照创建阿里云…
使用 k8s 官方提供的部署工具 kubeadm 自动安装,需要在 master 和 node 节点上安装 docker 等组件,然后初始化,把管理端的控制服务和 node 上的服务都以 pod 的方式运行. kubernetes部署过程: 本次部署的集群是v1.17.4 分为以下几个步骤 1.基础环境准备 2.在master 安装指定版本的 kubeadm .kubelet.kubectl.docker 3.在所有 node 节点安装指定版本的 kubeadm .kubelet.docker,…
一.添加master 部署高可用k8s架构 1.拷贝/opt/kubernetes目录到新的master上(注意如果新机上部署了etcd要排除掉) scp -r /opt/kubernetes/ root@192.168.24.12:/opt/ 2.拷贝主件服务 scp /usr/lib/systemd/system/{kube-apiserver.service,kube-controller-manager.service,kube-scheduler.service} root@192.1…
1. 架构信息 系统版本:CentOS 7.6 内核:3.10.0-957.el7.x86_64 Kubernetes: v1.14.1 Docker-ce: 18.09.5 推荐硬件配置:4核8G Keepalived保证apiserever服务器的IP高可用 Haproxy实现apiserver的负载均衡  2. 节点信息 目前测试为 6 台虚拟机,etcd采用 rpm 安装.kubernetes 使用二进制安装,使用 systemd 来做管理,网络组件采用 flannel,Master 实…
转:https://jiangxl.blog.csdn.net/article/details/120428703 详细:https://developer.aliyun.com/article/785720 执行到第大节第五节 kubectl get cs --kubeconfig admin.kubeconfig 报错如下: Error from server (Forbidden): componentstatuses is forbidden: User "admin" can…
Kubernetes高可用集群部署 部署架构: Master 组件: kube-apiserver Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象资源的增删改查和监听操作都交给APIServer处理后再提交给Etcd存储. kube-controller-manager 处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的. kube-scheduler 根据调度算法为新创建的Pod选择…
部署master节点 kubernetes master 节点包含的组件: kube-apiserver kube-scheduler kube-controller-manager 本文档介绍部署一个三节点高可用 master 集群的步骤,分别命名为k8s-host1.k8s-host2.k8s-host3: k8s-host1:172.16.120.154 k8s-host2:172.16.120.155 k8s-host3:172.16.120.156 安装docker 在每台主机安装do…
一.项目介绍 项目致力于让有意向使用原生kubernetes集群的企业或个人,可以方便的.系统的使用二进制的方式手工搭建kubernetes高可用集群.并且让相关的人员可以更好的理解kubernetes集群的运作机制. 软件版本 os centos7.7(ubuntu也适用,需要替换部分命令) kubernetes 1.16.2 etcd 3.4.3 docker 18.06 calico 3.10.1-2 coredns 配置策略 kube-apiserver: 使用节点本地 nginx 4…
Breeze部署kubernetes1.13.2高可用集群 2019年07月23日 10:51:41 willblog 阅读数 673 标签: kubernetes 更多 个人分类: kubernetes https://blog.csdn.net/networken/article/details/86550735 所知道的太少了.. 不过简单试了下 不是特别好用 国内公司做的系统.. 也可能跟我的虚拟机兼容性有关系.. breeze简介 项目地址:https://github.com/wis…
一.Breeze简介 Breeze 项目是深圳睿云智合所开源的Kubernetes 图形化部署工具,大大简化了Kubernetes 部署的步骤,其最大亮点在于支持全离线环境的部署,且不需要FQ获取 Google 的相应资源包,尤其适合某些不便访问互联网的服务器场景.详细资料请阅读官方文档(项目地址https://github.com/wise2c-devops/breeze ) 二.环境准备 1.系统环境 #主机名称需要符合DNS命名规则,另外Harbor为必须组件,详细信息请参考官方文档 2.…
Breeze项目是深圳睿云智合所开源的Kubernetes图形化部署工具,大大简化了Kubernetes部署的步骤,其最大亮点在于支持全离线环境的部署,且不需要FQ获取Google的相应资源包,尤其适合某些不便访问互联网的服务器场景. (项目地址 https://github.com/wise2c-devops/breeze ) 转载于https://mp.weixin.qq.com/s?__biz=MzI5ODQ2MzI3NQ==&mid=2247485466&idx=1&sn=…
k8s kubeadm部署高可用集群 kubeadm是官方推出的部署工具,旨在降低kubernetes使用门槛与提高集群部署的便捷性. 同时越来越多的官方文档,围绕kubernetes容器化部署为环境, 所以容器化部署kubernetes已成为趋势. 本文主要内容: 基于kubeadm部署方式,实现kubernetes的高可用. master部署 三台master节点上建立etcd集群 使用vip 进行kubeadm初始化master 1. 环境准备 节点 地址 master1,etcd1 10…
1.redis主从高可用集群结构 2.k8s部署有状态的服务选择 对于K8S集群有状态的服务,我们可以选择deployment和statefulset statefulset service&deployment 对于有状态的服务例如:redis和mysql,我们使用statefulset为首选 3.设计原理 statefulset 的设计原理: 拓扑状态 应用的多个实例之间不是完全对等的关系,这个应用实例的启动必须按照某些顺序启动,比如应用的主节点 A 要先于从节点 B 启动.而如果你把 A…
摘要:官方只提到了一句"使用负载均衡器将 apiserver 暴露给工作节点",而这恰恰是部署过程中需要解决的重点问题. 本文分享自华为云社区<Kubernetes 高可用集群落地二三事>,作者:zuozewei. 一.高可用拓扑 可以设置 HA 集群: 使用堆叠(stacked)控制平面节点,其中 etcd 节点与控制平面节点共存: 使用外部 etcd 节点,其中 etcd 在与控制平面不同的节点上运行: 在设置 HA 集群之前,应该仔细考虑每种拓扑的优缺点. 1.堆叠(…
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483891&idx=1&sn=17dcd7cd0645df509c8e49059a2f00d7&chksm=e9fdd407de8a5d119d439b70dc2c381ec2eceddb63ed43767c2e1b7cffefe077e41955568cb5&cur_album_id=1341273083637989377&sc…
文章转载自:https://mp.weixin.qq.com/s/2sWHt6SeCf7GGam0LJEkkA 一.环境准备 使用服务器 Centos 8.4 镜像,默认操作系统版本 4.18.0-305.3.1.el8.x86_64. 注意:由于云服务器,无法使用VIP,没有办法使用keepalive+nginx使用三节点VIP,这里在kubeadm init初始化配置文件中指定了一个master01节点的IP. 如果你的环境可以使用VIP,可能参考:第五篇 安装keepalived与Ngin…
之前介绍Harbor私有仓库的安装和使用,这里重点说下Harbor高可用集群方案的部署,目前主要有两种主流的Harbor高可用集群方案:1)双主复制:2)多harbor实例共享后端存储. 一.Harbor双主复制高可用集群 1)主从同步harbor官方默认提供主从复制的方案来解决镜像同步问题,通过复制的方式,我们可以实时将测试环境harbor仓库的镜像同步到生产环境harbor,类似于如下流程: 在实际生产运维的中,往往需要把镜像发布到几十或上百台集群节点上.这时,单个Registry已经无法满…
一.   MySQL InnoDB Cluster 介绍MySQL的高可用架构无论是社区还是官方,一直在技术上进行探索,这么多年提出了多种解决方案,比如MMM, MHA, NDB Cluster, Galera Cluster, InnoDB Cluster, 腾讯的PhxSQL, MySQL Fabric., aliSQL.MySQL官方在2017年4月推出了一套完整的.高可用的Mysql解决方案 - MySQL InnoDB Cluster, 即一组MySQL服务器可以配置为一个MySQL集…
之前写过一篇手动搭建etcd 3.1集群的文章<etcd 3.1 高可用集群搭建>,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境, 先从部署etcd 3.2集群开始. 需要部署etcd的主机信息如下: node1 192.168.61.11 node2 192.168.61.12 node3 192.168.61.13 配置管理项目目录结构 ├── inventories │   ├── staging │   │   ├── group_vars │   │   │  …
ProxySQL在早期版本若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是ProxySQl 从1.4.2版本后,ProxySQL支持原生的Cluster集群搭建,实例之间可以互通一些配置数据,大大简化了管理与维护操作. ProxySQL是一个非中心化代理,在拓扑中,建议将它部署在靠近应用程序服务器的位置处.ProxySQL节点可以很方便地扩展到上百个节点,因为它支持runtime修…
版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的高可用集群是建立在完全分布式基础之上的,详情请参考:https://www.cnblogs.com/yinzhengjie/p/9065191.html.并且需要新增一台Linux服务器,用于Namenode的备份节点. 一.实验环境准备 需要准备五台Linux操作系统的服务器,配置参数最好一样,由于我的虚拟机是之前完全分布式部署而来的,因此我的环境都一致. 1>.NameNode服务器(s101) 2>.DataNode服务器(s…
前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园大神edisonchou的系列文章<.NET Core on K8S学习实践系列文章索引(Draft版)>,为什么我要写该系列的文章,是因为我之前 工作的几家公司应用都已经容器化了,.net framework 应用也在慢慢迁移到.net core 上,.net core 从1.0就开始使用了,作…
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代版本, Workloads API成为稳定版本,这消除了很多潜在用户对于该功能稳定性的担忧.还有一个重大更新,就是测试支持了Windows了,这打开了在kubernetes中运行Windows工作负载的大门. CoreDNS alpha可以使用标准工具来安装CoreDNS kube-proxy的IP…
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, Workloads API成为稳定版本,这消除了很多潜在用户对于该功能稳定性的担忧.还有一个重大更新,就是测试支持了Windows了,这打开了在kubernetes中运行Windows工作负载的大门. CoreDNS alpha可以使用标准工具来安装CoreDNS kube-proxy的IPVS模式进…