Kube

kubernetes二进制部署单master节点

笑着哭i 提交于 2020-11-18 14:38:46
1、安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 三台机器,操作系统 CentOS7.7(mini) 硬件配置:2GBRAM,2vCPU+,硬盘30GB+ 集群中所有机器之间网络互通,且可访问外网。 采用NAT网络模型(依自己情况而定) 2、安装规划 (1)服务器规划 角色 IP master 192.168.50.128 node0 192.168.50.128 node1 192.168.50.131 node2 192.168.50.132 (2)软件环境 软件 版本 Docker 19.03.12 kubernetes 1.18.6 etcd 3.4.9 (3)软件规划 主机 安装组件 master kube-apiserver,kube-controller-manager,kube-scheduler,etcd node1 kubelet,kube-proxy,etcd node2 kubelet,kube-proxy,etcd 3、初始化系统 3.1、分步骤操作 (1)配置主机名 master节点设置: ~]# hostnamectl set-hostname master node1从节点设置: ~]# hostnamectl set-hostname node1 node2从节点设置: ~]# hostnamectl set

Kubernetes在AI平台的落地实践

雨燕双飞 提交于 2020-11-14 17:12:09
中国电信翼支付一直致力于将容器及云原生技术在生产环境中落地,同时AI是目前互联网行业炙手可热的“明星”,无论是老牌巨头,还是流量新贵,都在大力研发AI技术,为自家的业务赋能,其中算法从调研到最终上线发挥作用,是需要有一系列的工程开发和对接的,由此引发了新的问题:如何界定算法和工程的边界,各司其职,各善其长?如何提升算法迭代上线的速度和效率?如何快速准确评估算法的效果?而如果要解决上述的机器学习问题,则需要有一个功能强大且易用的机器学习平台来辅助算法研发人员,因此我们将Kubernetes结合AI场景研发打造出了属于自己的AIPaas平台,在平台层实现了资源的动态申请、扩缩容、灰度发布、流量控制等诸多功能;Kubernetes作为云原生的核心,帮助传统企业解决了很多痛点,但也因此给企业带来了很多新的挑战,本文为大家分享翼支付大数据部在AI方向上落地实践Kubernetes过程中的一些经验和探索,希望可以帮助到大家。 简要介绍AI平台 概述 基于基础的机器学习和深度学习计算框架进行二次开发,提供一站式的生态化的服务,为用户提供从数据预处理、模型训练、特征工程、模型训练、模型部署、模型治理和模型在线预测的全流程开发和部署支持,以期降低业务人员、算法同学的使用门槛,提供端到端的一站式的服务,帮助他们脱离繁琐的工程化开发,把有限的精力聚焦于算法策略的迭代上面。 可视化建模

Kubernetes简介

只谈情不闲聊 提交于 2020-11-14 13:08:21
  Kubernetes是Google开源的一款容器编排工具,它是诞生在Google内部运行N多年的博格系统之上的产物,因此其成熟度从其诞生初期就广泛受到业界的关注,并且迅速成为编排工具市场的主流,其社区活跃度非常高,版本迭代速度也很惊人,它的主要作用是对Docker容器做编排工作,当然,Docker只是容器工具的一种引擎,K8s可支持多种容器引擎,但从目前来说Docker容器引擎是具有绝对优势的,容器需要编排,也很容易理解,因为我们最核心要跑到业务通常都是LNMT/P的不同形式的扩展,但NMT/P他们的运行是有先后顺序的,也就是说MySQL要先启动,然后是Tomcat或PHP,最后是Nginx,而控制这种顺序就需要有容器编排工具来帮我们实现,另外,我们的业务希望7x24小时在线,如何保障?靠人是很难做到实时的,但编排工具可以,K8s帮我们实现了很多控制器,这控制器可以帮我们监控容器运行的状态,并自动帮我们重建(在容器时代重启就是重建)容器,并且还可以在容器处理能力不足时,自动根据我们定义的扩展规则,自动创建新Pod(k8s中最小单元,每个Pod中可有一个或多个容器),并且在压力下去后,自动删除Pod等等功能。 另外这里是K8s的中文官方文档zh站点:    https://k8smeetup.github.io/docs/ Kubernetes:  

Kubeadm安装的K8S集群1年证书过期问题的解决思路

北城以北 提交于 2020-11-08 16:31:58
这个问题,很多使用使用kubeadm的用户都会遇到。 网上也有类似的帖子,从源代码编译这种思路, 在生产环境,有些不现实。 还是使用kubeadm的命令操作,比较自然一点。 当然,自行生成一套证书,也是在新安装集群里,可以考虑的方案。 =============================================== .问题起源 kubeadm 是 kubernetes 提供的一个初始化集群的工具,使用起来非常方便。但是它创建的apiserver、controller-manager等证书默认只有一年的有效期,同时kubelet 证书也只有一年有效期,一年之后 kubernetes 将停止服务。 官方推荐一年之内至少用 kubeadm upgrade 更新一次 kubernetes 系统,更新时也会自动更新证书。不过,在产线环境或者无法连接外网的环境频繁更新 kubernetes 不太现实。 我们可以在过期之前或之后,使用kubeadm alpha phase里的certs和kubeconfig命令,同时配合kubelet证书自动轮换机制来解决这个问题。 .认识认书 使用kubeadm创建完Kubernetes集群后, 默认会在/etc/kubernetes/pki目录下存放集群中需要用到的证书文件, 整体结构如下图所示: Kubernetes 集群根证书 /etc

如何使用Kubeadm设置高可用性Kubernetes集群

大憨熊 提交于 2020-11-05 10:08:35
当我们为生产环境在本地设置Kubernetes(k8s)集群时,建议以高可用性部署它。高可用性意味着在HA中安装Kubernetes主节点或工作节点。在本文中,我将演示如何使用kubeadm实用程序设置高可用性的Kubernetes集群。 为了进行演示,我使用了五个具有以下详细信息的CentOS 7系统: k8s-master-1 –最低CentOS 7 – 192.168.1.40 – 2GB RAM,2vCPU,40 GB磁盘 k8s-master-2 –最低CentOS 7 – 192.168.1.41 – 2GB RAM,2vCPU,40 GB磁盘 k8s-master-3 –最低CentOS 7 – 192.168.1.42 – 2GB RAM,2vCPU,40 GB磁盘 k8s-worker-1 –最低CentOS 7 – 192.168.1.43 – 2GB RAM,2vCPU,40 GB磁盘 k8s-worker-2 –最低CentOS 7 – 192.168.1.44 – 2GB RAM,2vCPU,40 GB磁盘 注意:etcd集群也可以在主节点之外形成,但是为此我们需要额外的硬件,因此我将etcd安装在主节点内。 设置K8s集群高可用的最低要求: 在所有主节点和工作节点上安装Kubeadm,kubelet和kubectl 主节点和工作节点之间的网络连接

[k8s]容器及k8s学习笔记(目录)

北战南征 提交于 2020-11-01 17:52:56
容器基础学习 容器: docker学习思路 三部曲: 1,vm会搭建服务 2,docker会跑服务 3,k8s集群会调度该服务 - 存储 vm1 vm2 共享存储,vm1的容器挂了直接调度到vm2(docker存储驱动实现) - 网络 物理机安装flannel,使两台docker上容器能通(物理机/容器搭建etcd集群) 物理机搭建openvswitch,实现两台docker - 监控 cadvisor会跑 物理机安装grafana,物理机安装promethus(实现nodeexplore和mysqlexplore) 容器跑promethus +cadvisor+grafana 容器跑cadvisor+influendb+grafana 容器跑elk,物理机跑filebeat搜集容器日志 k8s学习 我会陆陆续续小结下. dns相关 dns策略 1.集群内 2.指定内网 subdomain 3.访问互联网 resovel.conf kube-dns架构图解及策略 nginx-ingress: DNS Policy导致hostnetwork网络问题 coredns/kube-dns配置subdomain 有状态集群 我研究了下有状态集群的特点: 有状态集群: 有状态,无状态的区别 stateful的特点 现不仅能解决每个有状态节点有各自的数据, 数据还得同步.

Kubernetes和Docker的关系是什么?

爱⌒轻易说出口 提交于 2020-11-01 06:27:50
作为一名容器时代的程序员相信你已经或多或少接触过Docker,但同时你也会发现Docker虽然流行了多年,但之前却很少有公司直接将线上应用通过Docker容器 进行大规模地 部署。但最近三年,你会发现几乎绝大多数有条件的公司都已经在使用Kubernetes部署和发布自己的线上业务了。对一名普通开发人员来说,这一切可能发生得太快,以至于你还没有搞清楚它是怎么发生的,也会疑惑Docker和Kubernetes之间到底是个什么关系。 在今天的内容中,我们从Kubernetes的系统架构及容器编排核心概念两个方面来简单聊一聊这个问题,希望能帮助到你更好地理解Docker和Kubernetes之间因果关系。 Kubernetes介绍 在具体介绍Kubernetes之前不得不再提一下Docker,如果你用过Docker部署过程序,那么你一定会非常享受它带给你的丝滑体验,而联想到在此之前发布一个程序需要写各种脚本、进行各种环境匹配的糟糕体验,那么相信你的这种感觉会更加强烈。 而Docker之所以能做到这一点,就在于它以“Docker镜像”的方式一举解决了应用打包和发布这一困扰业界多年的技术难题,并且大大降低了普通开发人员运维部署应用的门槛。正是因为解决了应用打包这个根本性的问题,才使得Docker很快就被广大开发/运维人员所接受,迅速成为炙手可热的技术,并在一定时间内引领了容器化技术发展的浪潮。

Rancher2.X与K8S

你离开我真会死。 提交于 2020-10-31 08:34:16
序言 搭建完了Rancher2.4.X,整理一下知识点,其中包括了K8S.方便后面我们玩.知识点当然是持续更新 K8S K8S是容器编排调度引擎.提供了如下的内容: 简化应用部署 提高硬件资源利用率 健康检查和自修复 自动扩容缩容 服务发现和负载均衡 K8S内部的元素( 从元素上看K8S是很复杂的 ) k8s集群由 Master节点 和 Node(Worker) 节点组成。 Master节点 Master节点指的是集群控制节点 ,管理和控制整个集群,基本上k8s的所有控制命令都发给它,它负责具体的执行过程。( 如下的机器上运行的程序都可以在Rancher起来后通过docker ps看到----cuiyaonan2000@163.com ) 在Master上主要运行着: Kubernetes Controller Manager(kube-controller-manager): k8s中所有资源对象的自动化控制中心 ,维护管理集群的状态,比如故障检测,自动扩展,滚动更新等。 Kubernetes Scheduler(kube-scheduler): 负责资源调度, 按照预定的调度策略将Pod调度到相应的机器上 。( 这里的POD即最小的工作单元) etcd:保存整个集群的状态 。----这个东西在Rancher2.5.1中一直报错~~~ Node节点

kubernetes之监控Operator部署Prometheus(三)

a 夏天 提交于 2020-10-31 07:33:18
第一章和第二章中我们配置Prometheus的成本非常高,而且也非常麻烦。但是我们要考虑Prometheus、AlertManager 这些组件服务本身的高可用的话,成本就更高了,当然我们也完全可以用自定义的方式来实现这些需求,我们也知道 Promethues 在代码上就已经对 Kubernetes 有了原生的支持,可以通过服务发现的形式来自动监控集群,因此我们可以使用另外一种更加高级的方式来部署 Prometheus: Operator 框架。 什么是 Operator Operator是由 CoreOS 开发的,用来扩展Kubernetes API,特定的应用程序控制器,它用来创建、配置和管理复杂的有状态应用,如数据库、缓存和监控系统。Operator基于Kubernetes的资源和控制器概念之上构建,但同时又包含了应用程序特定的领域知识。创建Operator的关键是CRD(自定义资源)的设计。 Operator 是将运维人员对软件操作的知识给代码化,同时利用 Kubernetes 强大的抽象来管理大规模的软件应用。目前 CoreOS 官方提供了几种 Operator 的实现,其中就包括我们今天的主角: Prometheus Operator , Operator 的核心实现就是基于 Kubernetes 的以下两个概念: 资源:对象的状态定义 控制器:观测、分析和行动

手把手教你在CentOS上搭建Kubernetes集群

给你一囗甜甜゛ 提交于 2020-10-30 19:54:04
作者:ChamPly 来源:http://t.cn/AigIlO76 安装CentOS 1.安装net-tools [root@localhost ~] # yum install -y net-tools 2.关闭firewalld [root@localhost ~] # systemctl stop firewalld && systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@localhost ~] # setenforce 0 [root@localhost ~] # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 安装Docker 如今Docker分为了Docker-CE和Docker-EE两个版本,CE为社区版即免费版,EE为企业版即商业版。我们选择使用CE版。 1.安装yum源工具包 [root@localhost ~] # yum install -y