Kube

Kubernetes动手系列:手把手教你10分钟快速部署集群

主宰稳场 提交于 2020-10-30 13:38:00
Kubernetes 动手系列 想通过一系列动手的 demo ,来帮助读者快速的理解上手 Kubernetes 一些运行机制。会包括如下内容: 手动部署 开发一个 operator 开发 webhook 开发 chart 包 开发 scheduler 开发 stroagecalss 开发 cloud provider virtual kubelet 本文要求读者对 Kubernetes 的架构和使用有基本的了解。 本文通过手工简单部署一个 K8S 集群来了解 K8S 整体的架构,以及内部组件的关系。 本文介绍的部署过程主要是为了让读者能够理解 K8S 的运行原理,为了简化流程,这里不涉及高可用、高性能等解决方案。 安装说明: 本文仅仅是在两个节点上部署所有的组件,如图所示包括 MASTER 和 NODE 所有的组件都安装在 /opt/{component} 的根目录下,包括二进制文件和配置文件 另外组件进程由 systemd 来管理,其配置文件在 /etc/systemd/system/{component}.service 本文所有的安装代码已经放在 https://github.com/bilc/kubernetes-deploy,供大家参考。 1 前期准备 配置环境变量文件 environment,如下,只修改 MASTER_IP 和 NODE_IP 即可。 export

Kubernetes容器集群部署Flannel网络(四)

删除回忆录丶 提交于 2020-10-30 01:24:45
部署Flannel网络 Overlay Network: 覆盖网络,在基础网络上叠加的一种虚拟网络技术模式,该网络中的主机通过虚拟链路连接起来. VXLAN: 将源数据包封装到UDP中,并使用基础网络的IP/MAC作为外层报文头进行封装,然后在以太网传输,到达目的后由隧道端点解封装并将数据发送给目标地址。 Flannel:是Overlay网络的一种,也是将源数据包封装在另一种网络包里面进行路由转发和通信,目前已经支持UDP,VXLAN,AWS,VPC,GCE路由等级传输 下载Flannel网络包: wget https://github.com/coreos/flannel/releases/download/v0.9.1/flannel-v0.9.1-linux-amd64.tar.gz 解压flannel包: [root@master ~]# tar xf flannel-v0. 9.1 -linux-amd64.tar.gz 分别把二进制包flanneld和mk-docker-opts.sh脚本文件传到两台node节点的bin下 [root@master ~]# scp flanneld mk-docker-opts.sh root@ 192.168 . 1.102 :/opt/kubernetes/bin/ [root@master ~]# scp flanneld mk

Kubernetes: 集群网络配置

戏子无情 提交于 2020-10-29 17:18:53
参考: [ Kubernetes 权威指南 ] <br> Kubernetes 集群搭建可以参考 [ Kubernetes : 多节点 k8s 集群实践 ] <br> 在多个 Node 组成的 Kubernetes 集群内, Kubernetes 本身不会对跨主机容器网络进行设置. flannel 就是解决跨主机容器间网络互通的需求. <br><br> Kubernetes 集群架构 Server List 节点名称 节点 IP k8s-master 10.10.10.10 k8s-node1 10.10.10.11 k8s-node2 10.10.10.12 <br> 节点服务说明 Master : etcd , kube-apiserver , kube-controller-manager, kube-scheduler. Node : docker, kubelet, kube-proxy <br><br> flannel 配置安装 flannel 安装于 kubernetes node 服务器上. 安装 flannel yum install flannel ln -sv /usr/libexec/flannel/mk-docker-opts.sh /usr/bin <br> 配置: /etc/sysconfig/flanneld 需要连接位于 master 上的

prometheus-operator监控Kubernetes

北战南征 提交于 2020-10-29 06:01:03
Operator Operator 是由 CoreOS 公司开发的,用来扩展 Kubernetes API,特定的应用程序控制器,它用来创建、配置和管理复杂的有状态应用,如数据库、缓存和监控系统。 Operator 基于 Kubernetes 的资源和控制器概念之上构建,但同时又包含了应用程序特定的一些专业知识,比如创建一个数据库的 Operator ,则必须对创建的数据库的各种运维方式非常了解,创建 Operator 的关键是 CRD (自定义资源)的设计。 CRD 是对 Kubernetes API 的扩展,Kubernetes 中的每个资源都是一个 API 对象的集合,例如我们在YAML文件里定义的那些 spec 都是对 Kubernetes 中的资源对象的定义,所有的自定义资源可以跟 Kubernetes 中内建的资源一样使用 kubectl 操作。 Operator 是将运维人员对软件操作的知识给代码化,同时利用 Kubernetes 强大的抽象来管理大规模的软件应用。目前 CoreOS 官方提供了几种 Operator 的实现,其中就包括我们今天的主角: Prometheus Operator , Operator 的核心实现就是基于 Kubernetes 的以下两个概念: 资源:对象的状态定义 控制器:观测、分析和行动,以调节资源的分布

kubernetes实战(二十五):kubeadm 安装 高可用 k8s v1.13.x

谁说我不能喝 提交于 2020-10-28 15:01:24
1、系统环境   使用kubeadm安装高可用k8s v.13.x较为简单,相比以往的版本省去了很多步骤。   kubeadm安装高可用k8s v.11 和 v1.12 点我   主机信息 主机名 IP地址 说明 组件 k8s-master01 ~ 03 192.168.20.20 ~ 22 master节点 * 3 keepalived、nginx、etcd、kubelet、kube-apiserver k8s-master-lb 192.168.20.10 keepalived虚拟IP 无 k8s-node01 ~ 08 192.168.20.30 ~ 37 worker节点 * 8 kubelet   主机配置 [root@k8s -master01 ~]# hostname k8s - master01 [root@k8s -master01 ~]# free - g total used free shared buff/ cache available Mem: 3 1 0 0 2 2 Swap: 0 0 0 [root@k8s -master01 ~]# cat /proc/cpuinfo | grep process processor : 0 processor : 1 processor : 2 processor : 3 [root@k8s -master01

Kubernetes基础

拟墨画扇 提交于 2020-10-28 11:55:02
一、kubernets简介 1、kubernets是什么 中文社区文档: http://docs.kubernetes.org.cn/ https://www.kubernetes.org.cn/k8s Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能(Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.)。 传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。 通过Kubernetes你可以: 快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用 我们的目标是促进完善组件和工具的生态系统,以减轻应用程序在公有云或私有云中运行的负担。 2、kubernets特点 可移植 : 支持公有云,私有云,混合云,多重云(multi-cloud) 可扩展 : 模块化, 插件化,

【k8s学习笔记】使用 kubeadm 部署 v1.18.5 版本 Kubernetes集群

落爺英雄遲暮 提交于 2020-10-28 00:19:37
说明 本文系搭建kubernetes v1.18.5 集群笔记,使用三台虚拟机作为 CentOS 测试机,安装kubeadm、kubelet、kubectl均使用yum安装,网络组件选用的是 flannel 行文中难免出现错误,如果读者有高见,请评论与我交流 如需转载请注明原始出处 https://www.cnblogs.com/hellxz/p/use-kubeadm-init-kubernetes-cluster.html 环境准备 部署集群没有特殊说明均使用root用户执行命令 硬件信息 ip hostname mem disk explain 192.168.87.145 kube-master 4 GB 20GB k8s 控制平台节点 192.168.87.146 kube-node1 4 GB 20GB k8s 执行节点1 192.168.87.147 kube-node2 4 GB 20GB k8s 执行节点2 软件信息 software version CentOS CentOS Linux release 7.7.1908 (Core) Kubernetes v1.18.5 Docker 19.03.12 保证环境正确性 purpose commands 保证集群各节点互通 ping -c 3 <ip> 保证MAC地址唯一 ip link 或 ifconfig

CentOS7安装Kubernetes1.18.1并使用flannel

旧时模样 提交于 2020-10-27 01:53:51
一、概述 手工搭建 Kubernetes 集群是一件很繁琐的事情,为了简化这些操作,就产生了很多安装配置工具,如 Kubeadm ,Kubespray,RKE 等组件,我最终选择了官方的 Kubeadm 主要是不同的 Kubernetes 版本都有一些差异,Kubeadm 更新与支持的会好一些。Kubeadm 是 Kubernetes 官方提供的快速安装和初始化 Kubernetes 集群的工具,目前的还处于孵化开发状态,跟随 Kubernetes 每个新版本的发布都会同步更新, 强烈建议先看下官方的文档了解下各个组件与对象的作用。 https://kubernetes.io/docs/concepts/ https://kubernetes.io/docs/setup/independent/install-kubeadm/ https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ 在创建Kubernetes集群时,阿里云容器服务提供两种网络插件:Terway和Flannel。 Flannel:使用的是简单稳定的社区的Flannel CNI 插件,配合阿里云的VPC的高速网络,能给集群高性能和稳定的容器网络体验,但功能偏简单,支持的特性少,例如:不支持基于Kubernetes标准的Network

SMAX重启步骤

点点圈 提交于 2020-10-26 22:45:24
重启suite 全部都在Master节点操作 查看suite namespace, 进入/opt/kubernetes/bin , 获取对应的itsma na 名称如下: kubectl get ns 结果如下: [10.225.50.90][root@cnsd2sapwill003 bin]# kubectl get ns NAME STATUS AGE core Active 176d default Active 176d itsma-hdtup Active 176d kube-node-lease Active 176d kube-public Active 176d kube-system Active 176d 停止Suite ./cdfctl.sh runlevel set -l DOWN -n itsma-hdtup 启动Suite ./cdfctl.sh runlevel set -l UP -n itsma-hdtup 对应结果如下: NAME READY STATUS RESTARTS AGE auth-7d6bf797c4-t2k5k 2/2 Running 0 27m autopass-lm-v2-76cbc87f74-4vwgb 2/2 Running 0 27m idm-78fcddccf-rzc64 2/2 Running 0 27m infra

Kubernetes系列之介绍篇(转)

强颜欢笑 提交于 2020-10-26 00:05:23
add by zhj: k8s是容器的分布式管理工具,Google的技术水平太牛了。在大数据时代,提出了三驾马车,MapReduce, GFS, BigTable,后来人们根据这三篇论文开发出Hadoop,HDFS,Hbase,用于管理大规模集群实现大数据的离线计算与存储,那时,调度的还是虚拟机或物理机。后来容器化技术出现,Google又抓住了,虽然Docker不是Google开发的,但其调度管理系统k8s是其开发的,k8s是docker的上层,用于管理大规模的docker集群。计算机时代,对大规模集群的管理极其重要,可以用其实现非常强大的功能,这也是云计算的最重要的技术之一。 原文: https://www.cnblogs.com/xhyan/p/6656062.html 作者: 純黑色 Kubernetes介绍 1.背景介绍   云计算飞速发展     - IaaS     - PaaS     - SaaS   Docker技术突飞猛进     - 一次构建,到处运行     - 容器的快速轻量     - 完整的生态环境 2.什么是kubernetes   首先,他是一个全新的基于容器技术的分布式架构领先方案。Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度