单控制平面不符合 HA 要求,但用于开发/测试环境不会有任何问题,如果资源足够的话(10台以上服务器,3台用于APIserver.3台用于 etcd 存储.至少3台用于工作节点.1台作为负载均衡),可以部署多控制平面的高可用集群环境.下面是高可用集群拓补结构,供参考: 安装步骤其实大同小异,高可用多了几个步骤,安装时可参看官网文档,也比较好操作.本文着重记录单控制平面K8S集群安装步骤. 一.准备工作 硬件资源要求,4核心以上CPU,8GB以上内存,所有服务器间网络正常通信,Ubuntu 16.…
使用kubeadm部署一套高可用k8s集群 有疑问的地方可以看官方文档 准备环境 我的机器如下, 系统为ubuntu20.04, kubernetes版本1.21.0 hostname IP 硬件配置(最低) ha 10.0.0.10 1核1G k8s-master0 10.0.0.20 4核4G k8s-master1 10.0.0.21 4核4G k8s-master2 10.0.0.22 4核4G k8s-work0 10.0.0.30 4核4G 基础环境配置 基础环境是不管master还…
写在前面 最近在研究K8S,今天就输出部分研究成果吧,后续也会持续更新. 集群规划 IP 主机名 节点 操作系统版本 192.168.175.101 binghe101 Master CentOS 8.0.1905 192.168.175.102 binghe102 Worker CentOS 8.0.1905 192.168.175.103 binghe103 Worker CentOS 8.0.1905 基础配置 在三台服务器上的/etc/hosts文件中添加如下配置项. 192.168.1…
公众号关注「WeiyiGeek」 设为「特别关注」,每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 0x00 前言简述 0x01 环境准备 主机规划 软件版本 网络规划 0x02 安装部署 1.基础主机环境准备配置 2.负载均衡管理工具安装与内核加载 3.高可用HAproxy与Keepalived软件安装配置 4.配置部署etcd集群与etcd证书签发 5.Containerd 运行时安装部署 温馨提示: 由于实践篇幅太长,此处分为上下两节进行发布. 0x00 前言简述 描述…
1.安装Docker 在21.22.200三台机器上安装Docker.安装命令: 在21.22.200三台主机上部署Docker. ~]# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 1.1 配置Docker /etc/docker/daemon.json { "graph": "/data/docker", "storage-driver": "…
本例中Master节点和Node节点部署在同一台主机上. 1 部署kubelet 1.1 集群规划 主机名 角色 IP CFZX55-21.host.com kubelet 10.211.55.21 CFZX55-22.host.com kubelet 10.211.55.22 在21主机上操作. 1.2 生成kubelet的kubeconfig配置文件 #!/bin/bash KUBE_CONFIG="/opt/kubernetes/cfg/kubelet-bootstrap.kubeconf…
说明 本文系搭建kubernetes v1.18.5 集群笔记,使用三台虚拟机作为 CentOS 测试机,安装kubeadm.kubelet.kubectl均使用yum安装,网络组件选用的是 flannel 行文中难免出现错误,如果读者有高见,请评论与我交流 如需转载请注明原始出处 https://www.cnblogs.com/hellxz/p/use-kubeadm-init-kubernetes-cluster.html 环境准备 部署集群没有特殊说明均使用root用户执行命令 硬件信息…
环境 准备工作 配置ansible(deploy 主机执行) # ssh-keygen # for i in 192.168.3.{21..28}; do ssh-copy-id -i ~/.ssh/id_rsa.pub $i; done [root@deploy ~]# cat /etc/ansible/hosts [etcd] 192.168.3.21 192.168.3.22 192.168.3.23 [k8s-master] 192.168.3.24 192.168.3.25 192.1…
文章目录 目录结构 install_docker_es.sh elasticsearch.yml.template 没事写写shell[我自己都不信,如果不是因为工作需要,我才不要写shell],努力让自己的脚本更健壮[就像我自己一样臃肿] 目录结构 创建两个目录,准备两个文件即可 ./bin # 脚本存放路径 └── install_docker_es.sh # 脚本名称随意 ./conf # 配置文件模板存放路径 └── elasticsearch.yml.template # 配置文件模板…
1. 致谢 这篇文章参考了老男孩王导的视频,在此表示感谢和致敬! 2. 安装CentOS操作系统 系统镜像:CentOS-7-x86_64-DVD-2009.iso 安装过程略. 3. 环境准备 3.1 修改主机名 [root@CentOS-11 ~]# hostnamectl set-hostname cfzx55-11.host.com [root@CentOS-11 ~]# logout [root@cfzx55-11 ~]# hostname cfzx55-11.host.com [ro…
2.安装DNS服务 为什么要安装bind9? K8S中,使用Ingress进行7层流量调度,需要使用域名,进行7层调度. 以前使用绑定host的方法,来进行域名和IP地址的解析. 在K8S里,没有好的办法给容器绑定host,必须自建DNS,让容器能够服从DNS解析. DNS,就是把域名和IP地址绑定. 在 11主机上操作 2.1 安装bind9 [root@cfzx55-11 ~]# yum install bind -y [root@cfzx55-11 ~]# rpm -qa bind bin…
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 0x01 环境准备 主机规划 软件版本 网络规划 0x02 安装部署 1.准备基础主机环境配置 2.负载均衡管理ipvsadm工具安装与内核加载 3.高可用HAProxy与Keepalived软件安装配置 4.容器运行时containerd.io安装配置 5.安装源配置与初始化集群配置准备 6.使…
写在前面 研究K8S有一段时间了,最开始学习K8S时,根据网上的教程安装K8S环境总是报错.所以,我就改变了学习策略,先不搞环境搭建了.先通过官网学习了K8S的整体架构,底层原理,又硬啃了一遍K8S源码.别问我为哈这样学,只是我觉得对我个人来说,这样学能让我更好的理解整套云原生体系.这不,这次,我总结了如何一次性成功安装K8S集群的方法.我们今天先来说说如何基于一主两从模式搭建K8S集群.后面,我们再上如何完全无坑搭建K8S高可用集群的方案. 文章和搭建环境所需要的yml文件已收录到:https…
一.环境准备 1.1环境信息 IP地址 角色 部署软件 10.10.100.5 K8s Master Etcd.Control 10.10.100.17 K8s Worker1 Worker 10.10.100.18 K8s Worker2 Worker 10.10.100.6 Rancher Rancher 1.2环境准备 三台k8s机器都是在OpenStack上按照模板镜像创建出来的虚拟机,镜像模板是Ubuntu18.04,并且已经安装了docker-ce,添加了私有镜像仓库地址,和阿里云共…
前言 本篇部署教程将讲述k8s集群的节点(master和工作节点)部署,请先按照上一篇教程完成节点的准备.本篇教程中的操作全部使用脚本完成,并且对于某些情况(比如镜像拉取问题)还提供了多种解决方案.不过基于部署环境和k8s的复杂性,我们需要对k8s集群部署过程中的一些步骤都有所了解,尤其是“kubeadm init”命令. 目录 主节点部署  Kubeadm以及相关工具包的安装 批量拉取k8s相关镜像 使用“kubeadm init”启动k8s主节点 启动k8s主节点 kubectl认证 安装f…
写在前面的话 通过上一节,知道了 K8S 有 Master / Node 组成,但是具体怎么个组成法,就是这一节具体谈的内容.概念性的东西我们会尽量以实验的形式将其复现. 部署 K8S 集群 互联网常用的 K8S 集群部署方式: 1. kubeadm(我们本次用到的) 2. rancher 3. 云服务商提供的(如阿里云提供的 K8S) 4. yum 安装(版本有点低,不推荐) 准备: IP 主机名 角色 安装 192.168.100.101 node1 Master kubeadm/kubel…
本文收录在容器技术学习系列文章总目录 1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm 安装kubernetes(本文演示的就是此方法) 优点:你只要安装kubeadm即可:kubeadm会帮你自动部署安装K8S集群:如:初始化K8S集群.配置各个插件的证书认证.部署集群网络等.安装简易. 缺点:不是自己一步一步安装,可能对K8S的理解不会那么深:并且有那一部分有问题,自己不好修正.…
前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此本教程会在部署的过程中穿插讲解一些部署相关知识.原理和步骤,比如kubeadm.kubelet以及启动集群时的实际部署动作等等.整个部署过程全部脚本化,以便各位参考和学习. 因整个集群部署教程篇幅较长,因此会拆分成几篇进行说明. 目录 使用Kubeadm创建k8s集群 Kubeadm概述  Kube…
本k8s集群参考了 Michael 的 https://gitee.com/pa/kubernetes-ha-kubeadm-private 这个项目,再此表示感谢! Michael的项目k8s版本为1.14.0,笔者基于他的项目进行改进,填了不少坑,搭建了 kubernetes 1.18.2高可用集群,特将搭建过程进行记录 详细信息请参考本人的git仓库 地址为 https://gitee.com/salmon_163/kubernetes-ha-kubeadm.git kubernetes…
一.Kubernetes概述 1.1 Kubernetes是什么 Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S. K8S用于容器化应用程序的部署,扩展和管理. K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能. Kubernetes目标是让部署容器化应用简单高效. 1.2 Kubernetes特性 自我修复 在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量:杀死健康检查失败的容器,并且在未准备好…
一.环境 三台centos机器 二.软件及容器准备 1.安装docker环境 本例安装 docker-ce版本,repo源为docker-ce.repo文件,拷贝到 /etc/yum.repos.d下 yum install  -y  docker-ce 2.下载相关镜像 下载软件包 将所有软件下载至/data目录 # 链接:https://pan.baidu.com/s/13DlR1akNBCjib5VFaIjGTQ 密码:1l69 # 链接:https://pan.baidu.com/s/1…
kubeadm介绍 kubeadm是Kubernetes项目自带的及集群构建工具,负责执行构建一个最小化的可用集群以及将其启动等的必要基本步骤,kubeadm是Kubernetes集群全生命周期的管理工具,可用于实现集群的部署.升级.降级及拆除.kubeadm部署Kubernetes集群是将大部分资源以pod的方式运行,例如(kube-proxy.kube-controller-manager.kube-scheduler.kube-apiserver.flannel)都是以pod方式运行. K…
目录 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控ingress nginx 1.背景和环境概述 本文中涉及到的环境中.prometheus监控和grafana基本环境已部署好. 在nginx ingress controller的官方文档中对监控有相应描述 https://kubernetes.github.io/ingress…
目录 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 本文中涉及到的环境中.prometheus监控和grafana基本环境已部署好.etcd内置了metrics接口供收集数据,在etcd集群任意一台节点上可通过ip:2379/metrics检查是否能正常收集数据. curl -L http://localhost:237…
使用kubeadm部署k8s集群 环境 IP地址 主机名 节点 10.0.0.63 k8s-master1 master1 10.0.0.63 k8s-master2 master2 10.0.0.65 k8s-node1 node1 10.0.0.66 k8s-node2 node2 1. 简要 kubeadm是官方社区推出的快速部署kubernetes集群工具 部署环境适用于学习和使用k8s相关软件和功能 2. 安装要求 3台纯净centos虚拟机,版本为7.x及以上 机器配置 2核4G以上…
     前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for desktop中启用就可以了.但是我发现,启用了k8s后,Docker for desktop会消耗大量的系统资源,导致系统变得很慢.据说windows 上的WSL 2 性能不错,这次我尝试在WSL Linux上安装K8s并部署我们的微服务,看看还会不会出现系统资源消耗过大的情况.      关于网络:我用的是…
1.概述 kubeadm是一工具箱,通过kubeadm工具,可以快速的创建一个最小的.可用的,并且符合最佳实践的k8s集群. 本文档介绍如何通过kubeadm工具快速部署一个k8s集群. 2.主机规划及环境准备 此处的主机配置要在所有的节点进行操作. 2.1.主机规划 IP 主机名 CPU/MEM 操作系统版本 角色 数据磁盘目录 172.20.58.83 nccztsjb-node-23 8c/16g CentOS 7.5.1804 master /data 172.20.58.65 nccz…
情况详细描述; k8s集群,一台master,两台worker 在master节点上部署一个单节点的nacos,导致master节点状态不在线(不论是否修改nacos的默认端口号都会导致master节点不在线). 但是在worker节点上就可以. 报错信息如下: Message from syslogd@localhost at Jun 2 11:08:51 ... haproxy[1127]: proxy kube-master has no server available! Message…
本次先更新kubeadm快速安装K8S,二进制安装上次没写文档,后续更新,此次最新的版本是V1.16.3 1.关闭防火墙.关闭selinux.关闭swapoff -a systemctl stop firewalldselinux=disabledswapoff -a 2.修改系统参数 创建 /etc/sysctl.d/k8s.conf 文件   cat > /etc/sysctl.d/k8s.conf << EOF net.ipv4.ip_forward = net.bridge.br…
1.概述 Kubenetes集群的控制平面节点(即Master节点)由数据库服务(Etcd)+其他组件服务(Apiserver.Controller-manager.Scheduler...)组成. 整个集群系统运行的交互数据都将存储到数据库服务(Etcd)中,所以Kubernetes集群的高可用性取决于数据库服务(Etcd)在多个控制平面(Master)节点构建的数据同步复制关系. 由此搭建Kubernetes的高可用集群可以选择以下两种部署方式: 使用堆叠的控制平面(Master)节点,其中…