随笔分类 - Kubernetes
摘要:一、介绍 GoTTY是一个能将你的命令行搬到网页上来的工具。你可以代理shell、docker、ps各种你用黑窗口操作的命令。 话不多说,先上图,我们一般使用kubectl都是在命令行,下面展示一下网页版kubectl get pod 二、安装 官方文档:yudai/gotty 方式一 go get
阅读全文
摘要:前言 人们很少做他们相信是对的事,他们做比较方便的事,然后后悔。——鲍勃·迪伦 我相信分享技术是对的事~ multipass相当于docker版本的虚拟机,k3s是轻便版本的k8s,两者结合让你使用k8s就像德芙一样纵享丝滑。下面手把手教你使用multipass和搭建k8s集群,giao~ 一、mu
阅读全文
摘要:[toc] 本文实践和引用自这篇博文:https://blog.csdn.net/daydayup_668819/article/details/90601967 一、什么是Helm Helm是K8S下的包管理器,相当于apt get、yum、brew这样的软件工具,重点概念 1. Helm。命令行
阅读全文
摘要:[toc] 一、什么是Ingress Ingress对象,其实就是对“反向代理”的一种抽象,简单的说就是一个全局的负载均衡器,可以通过访问URL定位到后端的Service 有了Ingress这个抽象,K8S就不需要关心Ingress的细节了,实际使用时,只需要选择一个具体的Ingress Contr
阅读全文
摘要:[toc] 一、为什么Servcie能定位到Pod 因为Pod的IP是不固定的,所以Kubernetes需要Service,除此之外它还可以在多个Pod间负载均衡 Service的访问入口,其实是宿主机的kube proxy生成的iptables规则 ,及kube dns生成的DNS记录 Servi
阅读全文
摘要:前言 跨主机通信的一个解决方案是Flannel,由CoreOS推出,支持3种实现:UDP、VXLAN、host-gw udp模式:使用设备flannel.0进行封包解包,不是内核原生支持,上下文切换较大,性能非常差 vxlan模式:使用flannel.1进行封包解包,内核原生支持,性能较强 host
阅读全文
摘要:[toc] 前言 K8S引入了一组叫作Persistent Volume Claim(PVC)和Persistent Volume(PV)的API对象,大大降低了用户声明和使用持久化Volume的门槛。 在Pod的Volumes中,只要声明类型是persistentVolumeClaim,指定PVC
阅读全文
摘要:[toc] RBAC: Role Based Access Control,基于角色的权限控制,有以下三种角色 1. Role:角色,定义了一组API对象的操作权限 2. Subject:被作用者,可以是人,也可以是机器,也可以是k8s的用户,最常使用的就是ServiceAccoun 3. Role
阅读全文
摘要:CronJob说白了就是用来管理Job对象的控制器, 通过jobTemplate管理Job对象,定时执行,最终实现我们的cron功能 示例 执行创建,看到 再查看job,会发现cronjob创建了几个job对象 因为定时任务的特殊性,可能上一个Job没执行完,新的就产生了,可以通过spec.conc
阅读全文
摘要:Deployment、StatefulSet及DaemonSet三个主要用来进行长时间业务,不会退出。 而有一些离线业务,或者叫Batch Job(计算业务),计算完成后就直接退出 了,如果用Deployment来管理这种业务,Pod会在计算结束后退出,然后被Deployment Controlle
阅读全文
摘要:DaemonSet只管理Pod对象,通过nodeAffinity和Toleration两个调度器,保证每个节点上只有一个Pod 集群动态加入了新Node,DaemonSet中的Pod也会添加在新加入Node上 删除一个DaemonSet也会级联删除所有其创建的Pod。 典型应用场景: 1. 每个节点
阅读全文
摘要:简单说来,StatefulSet其实就是一种升级版的Deployment,大体工作原理如下 1.为每个Pod名字按顺序编号,按顺序启动 删除重建的Pod会使用之前的一模一样的名字 2.通过HeadlessService为Pod编号,在DNS服务器中生成带有编号的DNS记录,从而可以达到通过Pod名字
阅读全文
摘要:一、什么是Deployment对象 明明ReplicaSet已经可以控制pod的数量了,为什么还需要Deployment? 简单的说,Deployment控制ReplicaSet的多个版本,ReplicaSet控制Pod个数 Deploymen实际上一个两层控制器,遵循一种滚动更新的方式来实升级现有
阅读全文
摘要:[toc] k8s支持存活livenessProbe和就绪readinessProbe两种探针,两种探针都支持以下三种方式 一、exec 通过执行shell命令的方式,判断退出状态码是否是0 示例 二、tcp 通过TCP请求的方式,是否能建立tcp连接 示例 三、httpGet 通过发起http请求
阅读全文
摘要:ConfigMap和Secret几乎一样,只是Secret会用base64加密,创建方式也可以彩yaml或者文件方式 下面演示一下通过文件创建configmap 创建配置文件my.yaml 通过文件创建ConfigMap 查看configmap对象 创建通过pod使用ConfigMap 执行创建po
阅读全文
摘要:Secret可以把想要访问的加密数据,存放到Etcd中,然后Pod可以通过的Volume的方式,访问到Secret保存的信息 ,每当数据修改的时候,Pod挂载的Secret文件也会被修改,特别适合用来存放账户密码 一、创建Secret对象 1. 通过文件创建 生成两个文件,分别是username.t
阅读全文
摘要:一、Pod说明 Pod只是一个逻辑概念,一个原子调度单位,其优势在于 1. 可以统一调度一组容器到指定的node上 2. 共享资源:Pod的容器可以使用localhost进行通信,使用volume进行文件共享、使用socket文件进行本地通信,减少频繁的远程网络请求网络 3. 使容器A和容器B不依赖
阅读全文
摘要:[toc] 前言 这里使用环境:Ubuntu 18.04,以下所有操作都在root用户下进行 其实kubenetes安装非常核心的几步就是 1. 安装docker 2. 安装kubeadm 3. 通过kubeadm init创建master节点 4. 安装master的网络插件 5. 通过kubea
阅读全文
摘要:一、k8s设计思想更先进 k8s的主要设置思想,是从更宏观的角度,以统一的方式来定义任务之间的各种关系 1.k8s的核心功能图 2.k8s的全局架构图 把微服务比喻为人,服务治理解决的是人的沟通,人太多了就需要生存空间和沟通方式的优化,这就需要集群和编排。 compose和swarm可以解决少数人之
阅读全文
摘要:[toc] 2013年 Docker项目开源 2013年,以AWS及OpenStack,以Cloud Foundry为代表的开源Pass项目,成了云计算领域的一股清流,pass提供了一种“应用托管”的能力。 当时的虚假机和云计算已经是比较普遍的技术了,主流用法就是租一批AWS或者OpenStack的
阅读全文