摘要:
K8S鉴权 访问K8S集群的资源需要过三关:认证、鉴权、准入控制 普通用户若要安全访问集群API Server(6443端口),往往需要证书、 Token或者用户名+密码;如果是访问Pod访问,需要ServiceAccount K8S安全控制框架主要由下面3个阶段进行控制,每一个阶段 都支持插件方式 阅读全文
posted @ 2020-10-22 21:55
SoleMemory
阅读(1221)
评论(0)
推荐(0)
摘要:
Volume Kubernetes中的Volume提供了在容器中挂载外部存储的能力 Pod需要设置卷来源(spec.volume)和挂载点(spec.containers.volumeMounts)两个信息后才可 以使用相应的Volume k8s支持的卷类型 大致可以分类为以下四种,其中比较常用的如 阅读全文
posted @ 2020-10-22 21:52
SoleMemory
阅读(467)
评论(0)
推荐(0)
摘要:
secret用途 保存镜像仓库账号信息 保存数字证书(比如https证书) 保存通用的敏感数据,例如用户名密码 加密数据实际还是存放在Etcd中,让Pod的容器以挂载Volume方式访问。 可通过kubectl get secret查看 将证书保存至secret:kubectl create sec 阅读全文
posted @ 2020-10-22 21:43
SoleMemory
阅读(348)
评论(0)
推荐(0)
摘要:
Ingress为弥补NodePort不足而生 NodePort存在的缺点 一个端口只能一个服务使用,端口需要提前规划 只支持四层负载均衡 Pod与Ingress的关系 通过service相关联 通过Ingress Controller实现Pod的负载均衡 支持TCP/UDP 4层和HTTP 7层 部 阅读全文
posted @ 2020-10-22 21:41
SoleMemory
阅读(3808)
评论(0)
推荐(0)
摘要:
Service存在的意义 如果有好几组pod,前端要怎么正确的找到对应的pod呢? 防止Pod失联(服务发现) 定义一组Pod的访问策略(负载均衡) 通常应用前端都需要访问后端,那么后端同时有好几个Pod IP,前端无法通过某个ip去访问,这个时候就通过LB(负载均衡器)提供一个统一的入口IP,供前 阅读全文
posted @ 2020-10-22 21:37
SoleMemory
阅读(394)
评论(0)
推荐(0)
摘要:
POD与controllers的关系 controllers:在集群上管理和运行容器的对象 通过label和seletor相关联 pod通过控制器实现应用的运维,如弹性伸缩,滚动更新等 Controllers的分类 Deployment : 无状态应用部署 StatefulSet : 有状态应用部署 阅读全文
posted @ 2020-10-22 21:30
SoleMemory
阅读(258)
评论(0)
推荐(0)
摘要:
pod基本概念 最小部署单元 可以包含多个容器 一个pod中的容器可以共享网络命名空间 pod是短暂的(可能做一次滚动更新,IP就可能发生变化) 适合放在一个pod中的应用 两个应用之间发生文件交互 比如有两个应用需要共享数据,那么如果通过外部存储共享的方式,受到网络之类的影响,性能较差,可以用到p 阅读全文
posted @ 2020-10-22 21:24
SoleMemory
阅读(1417)
评论(0)
推荐(0)
摘要:
使用kubectl命令部署应用 kubectl create deployment 名称 --image=镜像名称或路径 可以通过kubectl create --help查看支持的资源,一般网站、api、微服务都是用deployment部署 后面加上 --dry-run=client可以测试命令是 阅读全文
posted @ 2020-10-22 21:15
SoleMemory
阅读(631)
评论(0)
推荐(0)
摘要:
K8S的特性 自我修复: 在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断 弹性伸缩: 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性,业务低峰时 阅读全文
posted @ 2020-10-22 21:10
SoleMemory
阅读(296)
评论(0)
推荐(0)
摘要:
一、问题引入 根据镜像启动容器,执行命令如下:docker run --name mycentos -d centos,通过docker ps查看正在运行中容器,缺找不到mycentos容器。再次通过docker ps -a查看发现,mycentos容器已经处于停止状态了。 二、原因 Docker容 阅读全文
posted @ 2020-10-22 21:05
SoleMemory
阅读(10333)
评论(0)
推荐(0)
摘要:
安装 docker-compose apt install docker-compose 启动docker-compose docker-compose up -d 参数: -f 如果没有使用默认的docker-compose名称,用-f来指定新名字 -d 后台执行 up:运行docker-comp 阅读全文
posted @ 2020-10-22 21:03
SoleMemory
阅读(338)
评论(0)
推荐(0)
摘要:
因为官网提供的一些镜像不一定能满足需求,所以可以自己创建镜像,一个dockerfile相当于一个文本文件 创建dockerfile文件 # 一 # 导入基类镜像,如果本地有python镜像,那么就用本地仓库的,如果没有,他会去dockerhub中下载 # 往往一个dockerfile文件中,只有一个 阅读全文
posted @ 2020-10-22 20:59
SoleMemory
阅读(112)
评论(0)
推荐(0)
摘要:
镜像常用命令 查看当前所有的镜像:docker images 参数: -q,查看镜像的id 官方推荐使用docker image ls,这样比较完整 删除镜像: docker image rm 镜像名称或镜像id 或docker rmi 镜像名或镜像id 如果镜像正在运行,那么需要加-f参数 doc 阅读全文
posted @ 2020-10-22 20:57
SoleMemory
阅读(149)
评论(0)
推荐(0)
摘要:
docker docker是容器,用来装应用的容器,每个应用都在内核里面进行隔离 每个应用之前的linux内核都是共用的,所以更轻量化 采用go语言开发,C/S架构 docker内的容器如何连接网络呢? 安装完docker后可以ifconfig查看,可以看到自动生成了docker0的数据,那么这个d 阅读全文
posted @ 2020-10-22 20:50
SoleMemory
阅读(121)
评论(0)
推荐(0)
摘要:
ORM框架 每个应用下的数据库模型类,需要在models.py来定义 一个数据库模型类相当于一个数据表(table) 数据库模型类必须继承Model或者Model子类 模型类中定义的类属性,一个类属性相当于一个数据表中的一个字段 Objects是用来操作数据库的接口 关系型字段 models.One 阅读全文
posted @ 2020-10-22 20:42
SoleMemory
阅读(137)
评论(0)
推荐(0)
摘要:
DRF自带用户模块接口 path('api/', include('rest_framework.urls')) 创建登陆的路径 数据库迁移后可以访问 在pycharm中选择Tools-Run manage.py文件, 输入createsuperuser进行创建用户 在用户模块的url中导入from 阅读全文
posted @ 2020-10-22 20:35
SoleMemory
阅读(264)
评论(0)
推荐(0)
摘要:
创建SimpleRouter路由对象 # router = routers.SimpleRouter() # 使用DefaultRouter,会自动创建根路由页面 router = routers.DefaultRouter() 注册路由 # 第一个参数为路由前缀(支持正则),一般添加为应用名即可 阅读全文
posted @ 2020-10-22 20:31
SoleMemory
阅读(257)
评论(0)
推荐(0)
摘要:
因为目前还是需要两个类才能实现所有接口,因为两个类中都有GET方法,所以想合并成一个就不能用这个请求方法名字,但Django框架不认识action(动作),就可以用到ViewSet GenericAPIView只支持get、post、put、delete等请求方法,而不支持aciton,而ViewS 阅读全文
posted @ 2020-10-22 20:29
SoleMemory
阅读(510)
评论(0)
推荐(0)
摘要:
DRF中的Mixin拓展类,需要放在GenericAPIView前面继承 ListModelMixin 类里面实现了获取项目列表的方法,可以直接调用list方法使用 def get(self, request, *args, **kwargs): # *args, **kwargs为了接收前端传的路 阅读全文
posted @ 2020-10-22 20:27
SoleMemory
阅读(399)
评论(0)
推荐(0)
摘要:
GenericAPIView提供了分页、排序、过滤的功能 继承GenericAPIView之后,往往需要在类属性中指定查询集和序列化器类 过滤排序 安装django-filter OrderingFilter:排序过滤引擎 filter_backends = [DjangoFilterBackend 阅读全文
posted @ 2020-10-22 20:19
SoleMemory
阅读(204)
评论(0)
推荐(0)
摘要:
DRF中的Request 继承DRF框架中APIView之后,request是DRF中的response对象,会根据请求头中的Content-Type,自动进行解析 Response对HttpRequest进行的拓展,HttpRequest有的功能Response都支持 request.data来接 阅读全文
posted @ 2020-10-22 20:16
SoleMemory
阅读(205)
评论(0)
推荐(0)
摘要:
数据校验 比如 将前端传递的json格式数据转化为python中的数据类型(模型类对象)叫做反序列化 将模型类对象转化为json格式的数据叫做序列化 数据增删改查流程 增 校验请求参数-->反序列化-->保存数据-->将保存的对象序列化并返回 删 判断要删除的数据是否存在-->执行数据库删除并返回 阅读全文
posted @ 2020-10-22 20:13
SoleMemory
阅读(408)
评论(0)
推荐(0)
摘要:
Djang中的MVT和Java中的MVC模式: java中的MVC,相当于Django中的MVT M:负责和数据库交互 V:和MVC的C功能相同,接收请求,进行业务处理,返回响应 T:和MVC的V功能相同,负责构造要返回的HTML页面 前后端分离与不分离的区别 1、通过模板渲染的形式,叫做前后端不分 阅读全文
posted @ 2020-10-22 20:05
SoleMemory
阅读(141)
评论(0)
推荐(0)
浙公网安备 33010602011771号