在k8s中安装jenkins

接上一篇,搭建好glusterfs集群后,我们接下来创建单独的卷给jenkins使用,脚本已写好,直接运行即可:

编写endpoints.yaml文件,内容如下:

创建namespace.yaml文件:

创建jenkins-master-pv.yaml

[……]

继续阅读

glusterfs集群安装

此安装为非生产环境下测试,生产环境请勿按此进行配置。

首先准备2台机器:

加入Host

192.168.1.1  gluster1

192.168.1.2  gluster2

2台机器运行:

yum install centos-release-gluster -y

yum install -y glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma glusterfs-geo-replication glusterfs-devel

创建目录:

mkdir -p /data/bric[……]

继续阅读

Django用户身份验证完成示例

在这篇Django文章中,wom 将讨论Django User 验证,Django附带了一个用户认证系统。 它处理用户帐户,组,权限和基于cookie的用户会话。 Django身份验证系统同时处理身份验证和授权。 简要地说,身份验证将验证用户是他们声称的身份,而授权则确定允许经过身份验证的用户执行的操作。

基本上,我们将创建登录,注销,忘记密码和重置密码功能。

身份验证支持在django.contrib.auth中为Django contrib模块。默认情况下,所需的配置已包含在django-admin startproject生成的settings.py中,它们由INSTALLE[……]

继续阅读

如何在Django中使用聚合

在本文中,我想向您介绍如何在Django中使用聚合,聚合的含义是“内容相关项的集合,以便它们可以显示或链接到”。在Django中,我们使用的情况例如:

用于在Django模型的数据库表中查找列的“最大值”,“最小值”。
用于基于列在数据库表中查找记录的“计数”。
用于查找一组相似对象的“平均值”值。
还用于查找列中的值的总和。
在大多数情况下,我们对数据类型为“整数”,“浮点数”,“日期”,“日期时间”等的列使用聚合。

本质上,聚合不过是对一组行执行操作的一种方式。在数据库中,它们由运算符表示为sum,avg等。执行这些操作Django在查询集中添加了两个新方法。

这[……]

继续阅读

边缘计算— KubeEdge之旅

在进入边缘计算主题之前,了解对这种基础架构方法的真正需求至关重要。 IT世界已经看到了从传统的客户端-服务器架构到云计算的演进。这还不够,原因很简单:与计算世界相比,访问基础结构的设备数量呈指数增长,因此生成的数据量也呈指数增长。截至目前,无论是智能手表,智能手机,智能电视还是自动驾驶汽车,世界上所有事物都已连接到互联网。
这引起了对现有云基础架构所需要支持的带宽,每个请求的延迟,在设备和云之间传输的数据的安全性和安全性方面的担忧。让我们以自动驾驶汽车的简单紧急情况为例,假设自动驾驶汽车必须为在同一轨道上的救护车铺平道路。为此,汽车必须将其当前的交通信息发送到云中,并且必须通过比较相同和最近[……]

继续阅读

Ansible+k8s免费pdf书籍

今天偶然看到国外一篇博客,博客作者是个工程师,大致表达的意思是冠状病毒的突然出现来,让他认识到了健康的重要性,但同时呢作为工程师的他能做些什么呢,是了,这就是重点了,他写了二本关于ansible方面的书,说现在呀,我也做不了什么,本来我写书打算卖钱的,但现在我觉得得做点贡献了,我呢,这个月免费了,大家呢都可以去网上免费下载这2本书,可以支付点费用,也是支付0$,都可以得到两本书,我就按博客的指导打开了链接,发现果然是免费下载,之前的定价在19.9$左右,现在真的可以免费下再,下完后我就读了下这二本书,书都是从2014年就开始写了,用的是ansible2.0版本,要不说呢,老外真有毅力,现在都[……]

继续阅读

在Kubernetes上对应用程序进行故障排除的6个技巧

从Docker迁移到Docker Swarm,再到Kubernetes,然后处理了多年来的所有各种API更改之后,我非常乐意发现部署中出现的问题和把问题进行修复。
我今天分享下我认为最有用的5条故障排除技巧,以及一些其他的使用技巧。

kubectl –“瑞士军刀”

kubectl就是我们的瑞士军刀,我们经常在出现问题的时候使用他们,在出现问题如何使用他们很重要,
让我们从5个“实际案例”开始,看出现问题时如何使用它们。
情况将是:我的YAML已被接受,但我的服务未启动且已启动,但无法正常工作。
1.kubectl get deployment/pods
这个命令如此重要[……]

继续阅读

使用Django REST Framework和JSON Web令牌进行用户身份验证

在过去的几个月中,我一直在利用业余时间来构建Web应用程序。虽然我想保留我的应用程序的详细信息(暂时),但我确实想分享我在使用该应用程序时克服的一些困难。特别是在使用JSON Web令牌(JWT)进行用户管理和身份验证时。
科技栈
在深入研究代码之前,我想提供一些有关将要使用的技术的背景信息。在后端,我选择了Django和Django Rest Framework来开发RESTful API,这将是我应用程序的核心。在前端,我决定使用Reactjs来构建我的SPA来调用后端。我将使用Docker进行容器化,使用CircleCI构建我的CI / CD管道,并使用AWS作为基础设施服务。最后,[……]

继续阅读

如何防止Kubernetes(例如RabbitMQ)队列工作器Pod在部署期间处理消息时被杀死?

每当为部署设置新的容器映像时,Kubernetes都会替换每个Pod。 默认情况下,这是使用rolling-rollout策略来完成的,其中会先启动带有新的Pod,并逐步杀死旧的Pod。
但是如果一个带有旧镜像的Pod在那个确切的时刻处理一项重要的持久请求或任务会怎样? 是否可以防止它在完成任务之前被终止?图像的Pod在那个确切的时刻处理一项重要的持久请求或任务会怎样? 是否可以防止它在完成任务之前被终止?

Kubernetes提供了生命周期挂钩,通过该钩子可以延迟终止。 开发者需要正确实施此操作。

Pod生命周期
如果Pod在部署期间通过kubectl或任何k8s控制器手动被[……]

继续阅读

Kubernetes的initContainer的多功能性

我们有很多不同的方法来配置在Kubernetes上运行的容器,例如:

环境变量
Config maps
跨多个Pod共享的卷
参数已传递给预执行pod
等等
这些替代方案符合特定的环境和特定的要求。

例如,它们都不允许您在容器启动之前克隆Git存储库。但是可能在镜像内部改变一些特征。但是,这将引入耦合,并破坏单一责任原则。即使该原理最初来自OOP,对于容器也很有意义。镜像应该只做一件事,并且做得很好。就像在OOP中一样,相反的情况会引入复杂性和脆弱性,并影响镜像的可维护性。

实际运行命令的其他选项包括:

容器生命周期钩
Kubernetes提供了生命周期钩子[……]

继续阅读