文章目录 1.前情提要 2.环境准备 2.1.环境介绍 2.2.配置静态网络 2.3.配置ssh免密 2.4.批量开启模块以及创建文件 2.5.安装ansible 2.5.1.安装pip 2.5.2.安装ansible 2.6.下载kubeasz 2.7.配置chrony时间同步 2.8.修改docker.server.j2文件 2.9.配置ansible主机清单文件 3.安装并验证Kubernetes集群 3.1.安装Kubernetes集群 3.2.验证Kubernetes集群 关于如何获取…
本节内容: Kubernetes简介 环境信息 创建TLS加密通信的证书和密钥 下载和配置 kubectl(kubecontrol) 命令行工具 创建 kubeconfig 文件 创建高可用 etcd 集群 部署 kubernetes master节点 部署kubernetes node节点 安装和配置 kube-dns 插件 一.Kubernetes简介 Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的 开源版本,主要功能包括: 基于容器的应用部…
一.部署环境 1.1 主机列表 主机名 Centos版本 ip docker version flannel version Keepalived version 主机配置 备注 lvs-keepalived01 7.6.1810 172.27.34.28 / / v1.3.5 4C4G lvs-keepalived lvs-keepalived01 7.6.1810 172.27.34.29 / / v1.3.5 4C4G lvs-keepalived master01 7.6.1810 17…
# README # 此脚本需要在master节点上使用 # 注意root密码,请提前修改 # 个人实验环境,注意机器最低配置:master(2G内存,1cpu2核心,否则集群会创建失败),node(各1G内存,1cpu1核心即可) # 此脚本适用于干净环境,注意提前关闭selinux(设置为disabled) # 此脚本仅创建完k8s集群,加入集群以及网络的配置,请手动配置 # 此脚本使用的是本地镜像导入,注意提前准备镜像,将tar包放到master机器的/root/目录下,或自定义存放,并修…
请读者务必保持环境一致 安装过程中需要下载所需系统包,请务必使所有节点连上互联网. 本次安装的集群节点信息 实验环境:VMware的虚拟机 IP地址 主机名 CPU 内存 192.168.77.133 k8s-m1 6核 6G 192.168.77.134 k8s-m2 6核 6G 192.168.77.135 k8s-m3 6核 6G 192.168.77.136 k8s-n1 6核 6G 192.168.77.137 k8s-n2 6核 6G 192.168.77.138 k8s-n3 6核…
目录 目标 准备 主机 软件 步骤 (1/4)安装 kubeadm, kubelet and kubectl (2/4)初始化master节点 (3/4) 安装网络插件 (4/4)加入其他节点 (可选)在非主节点上管理集群 (可选)映射API服务到本地 (可选)部署一个微服务 卸载集群 目标 在您的机器上建立一个安全的Kubernetes集群. 在集群里安装网络插件,以便应用之间可以相互通讯. 在集群上运行一个简单的微服务. 准备 主机 一台或多台运行Ubuntu 16.04+的主机. 最好选至…
      标准运维实现自动化部署K8S集群主要分两步,第一步是部署gse-agent,拱第二步执行部署. 第一步:部署gse-agent.如下: 第二步:部署k8s集群.主要通过作业平台分为5小步执行对应的脚本实现.步骤如下:   按执行顺序列出对应的脚本,如下: 按执行顺序列出对应的脚本,如下: 1)ssh_login.sh #!/bin/bash anynowtime="date +'%Y-%m-%d %H:%M:%S'" NOW="echo [\`$anynowtim…
elk介绍这里不再赘述,本系列教程多以实战干货为主,关于elk工作原理介绍,详情查看官方文档. 一.环境规划 主机名 IP 角色 节点名 centos01 10.10.0.10 es node-10 centos02 10.10.0.11 es node-11 centos03 10.10.0.12 es node-12 这里三台机器配置均为2C4G配置,生产中根据日志量选配合的机器. 二.安装部署 es镜像官网:https://hub.docker.com/_/elasticsearch 2.…
1. 概述 老话说的好:努力学习,提高自己,让自己知道的比别人多,了解的别人多. 言归正传,之前我们聊了 Docker,随着业务的不断扩大,Docker 容器不断增多,物理机也不断增多,此时我们会发现,登录到每台机器去手工操作 Docker 是一件很麻烦的事情. 这时,我们需要一个好用的工具来管理 Docker,帮我们创建.运行.调整.销毁这些容器,帮我们监控哪个容器宕掉了,然后重新启动这个容器等等. kubernetes(k8s)就是一个很好的选择,今天我们先来聊聊 kubernetes(k8…
官方部署文档地址:https://www.percona.com/doc/kubernetes-operator-for-pxc/kubernetes.html 一.部署方式 示例在k8s集群(至少3个节点)中部署Percona XtraDB Cluster集群 clone项目 git clone https://gitee.com/Aaron-23/percona-xtradb-cluster-operator.git cd percona-xtradb-cluster-operator 准备…
本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apache有个初步的认识,阿帕奇. 如果对集群概念不了解,可以看一下之前写的一篇:WebLogic部署集群和代理服务器 这篇对集群的概念解释的比较细致,与weblogic集群的不同之处在于,它对各个子服务器上应用的部署,是由weblogic容器自动完成的.而tomcat则需要手动去拷贝项目. 一.负载均衡网…
k8s是什么 Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统.在 Docker 技术的基础上,为容器化的应用提供部署运行.资源调度.服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性.k8s是容器到容器云后的产物.但是k8s并不是万能,并不一定适合所有的云场景.官方有一段"What Kubernetes is not"的解释可能更有利我们的理解. Kubernetes 不是一个传统意义上,包罗万象的 PaaS (平台即服务) 系统.我们保…
Kubenetes 集群部署规划: 192.168.137.81  Master 192.168.137.82  Node 192.168.137.83  Node 以下在 Master 节点操作. 1. 创建目录,用于存放 kuburnetes  相关的文件. mkdir -p /opt/k8s/{bin,cfg,ssl} 2. 获取下面的文件并解压,把解压后的 etcd 和 etcdctl 两个文件放到 /opt/k8s/bin 目录下 wget https://github.com/etc…
2016/11/16 23:39:58 环境: centos7 [fu@centos server]$ uname -a Linux centos 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 1. 初始化环境 关闭防火墙: [root@k8s-master fu]# systemctl stop firewalld [root@k8s-master fu]# sy…
1.redis主从高可用集群结构 2.k8s部署有状态的服务选择 对于K8S集群有状态的服务,我们可以选择deployment和statefulset statefulset service&deployment 对于有状态的服务例如:redis和mysql,我们使用statefulset为首选 3.设计原理 statefulset 的设计原理: 拓扑状态 应用的多个实例之间不是完全对等的关系,这个应用实例的启动必须按照某些顺序启动,比如应用的主节点 A 要先于从节点 B 启动.而如果你把 A…
前言 本文搭建了一个由三节点(master.slave1.slave2)构成的ceph分布式集群,并通过示例使用ceph块存储. 本文集群三个节点基于三台虚拟机进行搭建,节点安装的操作系统为Centos7(yum源),ceph版本选取为12.2.1.作者也是一位初学者,其间遇到了很多问题,故希望通过该博客让读者避免. 其中本文为快速搭建过程,先在一台虚拟机上完成大部分的ceph搭建的预检过程,之后将虚拟机复制为3个虚拟机,构成集群节点.所以建议读者按照本文步骤进行搭建,不要直接创建三个虚拟机,造…
.Docker网络模式 在讨论Kubernetes网络之前,让我们先来看一下Docker网络.Docker采用插件化的网络模式,默认提供bridge.host.none.overlay.maclan和Network plugins这几种网络模式,运行容器时可以通过–network参数设置具体使用那一种模式. bridge:这是Docker默认的网络驱动,此模式会为每一个容器分配Network Namespace和设置IP等,并将容器连接到一个虚拟网桥上.如果未指定网络驱动,这默认使用此驱动. h…
部署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…
环境准备 机器信息 主机名 操作系统 IP地址 K8sm-218 Centos 7.5-x86_64 172.17.0.218 k8s-219 Centos 7.5-x86_64 172.17.0.219 k8s-220 Centos 7.5-x86_64 172.17.0.220 关闭防火墙及selinux # systemctl stop firewalld # systemctl disable firewalld # setenforce 0 修改hosts 172.17.0.218 k…
1. 集群调度简介 2. 调度过程 2.1 调度过程概览 2.2 Predicate(预选) 2.3 Priorities(优选) 3. 调度的亲和性 3.1 node亲和性 3.1.1 node亲和性简介 3.1.2 node亲和性硬策略示例 3.1.3 node亲和性软策略示例 3.2 pod亲和性 3.2.1 pod亲和性/反亲和性简介 3.2.2 pod亲和性/反亲和性示例 3.3 亲和性/反亲和性调度策略比较 4. Taint(污点)和Toleration(容忍) 4.1 Taint和…
在kubernetes中,有HPA在需要的时候创建更多的pod实例.但万一所有的节点都满了,放不下更多pod了,怎么办?显然这个问题并不局限于Autoscaler创建新pod实例的场景.即便是手动创建pod,也可能碰到因为资源被已有pod使用殆尽,以至于没有节点能接收新pod的清况. 在这种情况下,需要删除一些已有的pod, 或者纵向缩容它们,抑或向集群中添加更多节点.如果Kubernetes集群运行在自建基础架构上,那得添加一台物理机,并将其加入集群.但如果集群运行于云端基础架构之上,添加新的…
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 为了方面社区用户体验GreatSQL,我们同时还提供Docker镜像,本文详细介绍如何在Docker中部署GreatSQL,并且构建一个MGR集群. 本文涉及的运行环境如下: [root@greatsql]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@greatsql]# uname -a Linux GreatSQL 3.10…
文章转载自:https://i4t.com/5451.html 背景 Kubernetes 1.24新特性 从kubelet中移除dockershim,自1.20版本被弃用之后,dockershim组件终于在1.24的kubelet中被删除.从1.24开始,大家需要使用其他受到支持的运行时选项(例如containerd或CRI-O):如果您选择Docker Engine作为运行时,则需要使用cri-dockerd. 对于kubelet和containerd重要提示 在升级至1.24之前,请确认c…
Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集群中有哪些节点,在启动时直接指定好Etcd的各个node节点地址 ②Etcd动态发现:通过已有的Etcd集群作为数据交互点,然后在扩展新的集群时实现通过已有集群进行服务发现的机制 ③DNS动态发现:通过DNS查询方式获取其他节点地址信息 这篇文章主要介绍第一种方式.后期如果还有时间和精力研究的话,我…
之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方便一点,毕竟不用手工创建那么多的配置文件,但是对于了解Kubernetes的运作方式,可能不如二进制方式好.同时,因为kubeadm方式,很多集群依赖的组件都是以容器方式运行在Master节点上,感觉对于虚拟机资源的消耗要比二进制方式厉害. 0. kubeadm 介绍与准备工作 kubeadm is…
另一个结合harbor自动构建镜像的思路: 即code+baseimage一体的方案 - 程序员将代码提交到代码仓库gitlab - 钩子触发jenkins master启动一次构建 - jenkins master从k8s申请一个jenkins slave编译容器 - 在容器内编译完成以后,获得最终产物 - 将最终产物通过dockerfile生成生产部署镜像(这里省略了测试,其实部署镜像需要测试通过) - 将生产镜像推送到harbor镜像仓库 - jenkins slave生命周期结束,k8s…
环境介绍 角色 操作系统 IP 主机名 Docker版本 master,node CentOS 7.4 192.168.0.210 node210 17.11.0-ce node CentOS 7.4 192.168.0.211 node211 17.11.0-ce node CentOS 7.4 192.168.0.212 node212 17.11.0-ce 1.基础环境配置(所有服务器执行)a.SELinux关闭 sed -i 's#SELINUX=enforcing#SELINUX=di…
1-1 K8S导学 1-2 搭建K8S集群步骤和要点介绍 1-3 搭建三节点Ubuntu环境 1-4 安装容器引擎 1-5 下载Kubeadm.node组件和命令行工具 1-6 向集群中加入worker节点 1-7 安装dashboard和heapster并验证集群安装结束 1-8 小结 2-1 探索K8S集群路线 2-2 Kubeadm init流程揭秘 2-3 Kubeadm join 揭秘 2-4 Kubernetes核心组件详解 2-5 Kubectl详解 3-1 kubernetes集…
说明: 本文参考 『 Kubernetes 权威指南 』 第一章的案例. 需要说明的是, 这本书里有很多描述的东西和实践的案例不吻合. Kubernets 集群架构 架构图 Server List 节点名称 节点 IP k8s-master 10.10.10.10 k8s-node1 10.10.10.11 k8s-node2 10.10.10.12 配置主机 hosts 需要说明的是, 这个不是必须的. 但是如果不配置主机 hosts, 后续配置 kubelet 参数KUBELET_API_S…