Django2.0 实战项目

基于 Django2.0 快速实现一个产品分享的 WEB 应用

在本课程中,你将学习如何使用Django2.0快速开发一个WEB 应用,了解到在实际开发过程中关于Django的一些最佳实践技巧,学习到Django2.01.x版本的一些异同点以及优势。无论你之前是否学习过 Django 应用框架,通过本课程你都将能够很快速的掌握 Django 的使用。

课程链接地址:https://www.haimaxy.com/course/m12jop/

[阅读全文]

使用kubeadm搭建kubernetes1.10集群

kubeadmKubernetes官方提供的用于快速安装 Kubernetes 集群的工具,通过将集群的各个组件进行容器化安装管理,通过kubeadm的方式安装集群比二进制的方式安装要方便不少,但是目录kubeadm还处于beta状态,还不能用于生产环境,Using kubeadm to Create a Cluster文档中已经说明kubeadm将会很快能够用于生产环境了。

所以现在来了解下kubeadm的使用方式的话还是很有必要的,对于现阶段想要用于生产环境的,建议还是参考我们前面的文章:手动搭建高可用的kubernetes 集群或者视频教程

[阅读全文]

好吧,海马学院正式上线了

一个互联网实战项目学习平台

海马学院这个 Sideproject 我断断续续差不多做了一年了,最开始的需求是身边有几个做客户端的朋友想要学习Python,然后我给他们推荐了几本入门的书籍,然后遇到问题的时候再来问我,慢慢地他们发现这种方式学习太慢了,主要是太不系统了,然后我就说要不我给你们录制一套实战项目的视频吧,你们跟着做一遍实际的项目肯定感觉就会好很多了,而且根据我个人的学习经验来说,学习一门编程语言最好的方式方法就是做一个实际的项目,最后的结果当然也是符合预期的,现在他们基本上能独立完成一个 Web 项目了。

[阅读全文]

Skaffold-简化本地开发kubernetes应用的神器

墙裂推荐kubernetes应用开发者使用的工具

在我们开发kubernetes应用的过程中,一般情况下是我们在本地开发调试测试完成以后,再通过CI/CD的方式部署到kubernetes的集群中,这个过程首先是非常繁琐的,而且效率非常低下,因为你想验证你的每次代码修改,就得提交代码重新走一遍CI/CD的流程,我们知道编译打包成镜像这些过程就是很耗时的,即使我们在自己本地搭建一套开发kubernetes集群,也同样的效率很低。在实践中,若不在本地运行那些服务,调试将变得颇具挑战。就在几天前,我遇到了Skaffold,它是一款命令行工具,旨在促进kubernetes应用的持续开发,Skaffold可以将构建、推送及向kubernetes集群部署应用程序的过程自动化,听上去是不是很舒服呀~~~

[阅读全文]

k8s技术圈一周精选[第2期]

上周我们发布了k8s技术圈一周精选第1期,从后面的反馈来看非常不错,之前很多问题其实大家都遇到过,只是没有记录沉淀下来,导致后面很多同学去踩同样的坑,这其实是非常浪费时间浪费资源的。一周时间还是非常快的,这不我们的第2期又来了。

另外,也欢迎大家加入我们的【微信群】【知识星球】共同探讨,共同进步。

[阅读全文]

kubernetes 的资源配额控制器

有很多团队在使用kubernetes的时候是将一个namespace当成一个租户的,所以对namespace的权限控制,资源控制就很重要了,你总是会担心你的某个租户使用的资源就超出了应有的配额。幸运的是kubernetes本身就为我们提供了解决这一问题的工具:资源配额控制器(ResourceQuotaController)

资源配额控制器确保了指定的资源对象始终不会超过配置的资源,能够有效的降低整个系统宕机的机率,增强系统的鲁棒性,对整个集群的稳定性有非常重要的作用。

[阅读全文]

k8s技术圈一周精选[第1期]

一转眼都已经过了龙抬头的日子了,可能你自己没注意到,要是仔细一算的话,2018年已经过了1/4了,是不是今年的规划还没提上日程呢?总之,咱们还是需要撸起袖子加油继续干啊~~~

今天的文章是总结我们知识星球在本周的一些精华的分享内容,同时,也欢迎大家加入我们的【微信群】【知识星球】共同探讨,共同进步。

[阅读全文]

理解 Kubernetes 的亲和性调度

nodeSelector、nodeAffinity、podAffinity、Taints以及Tolerations用法

一般情况下我们部署的 POD 是通过集群自动调度选择某个节点的,默认情况下调度器考虑的是资源足够,并且负载尽量平均,但是有的时候我们需要能够更加细粒度的去控制 POD 的调度,比如我们内部的一些服务 gitlab 之类的也是跑在Kubernetes集群上的,我们就不希望对外的一些服务和内部的服务跑在同一个节点上了,害怕内部服务对外部的服务产生影响;有的时候呢我们两个服务直接交流比较频繁,又希望能够将这两个服务的 POD 调度到同样的节点上。这就需要用到 Kubernetes 里面的一个概念:亲和性,亲和性主要分为两类:nodeAffinitypodAffinity

[阅读全文]

Hugo 集成 Gitment 评论插件

前面我们为Hugo集成了Algolia搜索插件,要让我们的网站具备博客的基本功能的话,一般情况下评论也是非常需要的,评论承载着作者与读者之间交流的桥梁,所以我们可以看到市面上有很多单独的评论服务,比如最出名的disqus,国内也有之前比较出名的多说(现在已经关闭)、有言等等,要使用他们非常简单,只需要嵌入一些简单的代码即刻开启移动社交评论 服务。不是这些服务不好,只是觉得稍微有点笨重,这里我们使用一个基于GitHub Issues的轻量级评论系统:Gitment

[阅读全文]

Hugo 集成 Algolia 搜索

Hugo是由 Steve Francis 大神(http://spf13.com/)基于Go语言开发的静态网站构建工具。没错你现在看到的本博客就是基于Hugo的,使用 Hugo 创建一个网站是非常简单的,基本上没有什么门槛,官方还提供了大量的主题供你选择,你只需要专心写的文章就行。不过有个问题是搜索,我们知道搜索属于动态行为了,如何给静态网站增加搜索功能呢?当然我们可以使用Google的站内搜索功能,Hugo 官方也提供了一些开源的和商业的解决方案,今天我们要介绍的就是一个非常优秀的商业解决方案:Algolia

[阅读全文]