VMWare 开源的 Kubernetes 可视化工具 Octant

上午看新闻发现 VMWare 开源了一款 Kubernetes Dashboard 的可视化工具 Octant ,这是一款帮助开发人员了解应用程序在 Kubernetes 集群中如何运行的工具。它通过可视化的方式,呈现 Kubernetes 对象的依赖关系,可将本地端口请求转发到正在运行的 pod,查看 pod 日志,浏览不同的集群。此外,用户还可以通过安装或编写插件来扩展 Octant 的功能。

[阅读全文]

使用 kubeadm 搭建 v1.15.3 版本 Kubernetes 集群

以前文章和视频中都是使用的 Kubeadm 搭建的 Kubernetes 集群,但是版本比较低了(1.10.0 版本),近期有不少反馈让更新下版本,本文将通过 Kubeadm 来搭建最新版本的 Kubernetes 1.15.3 集群,其实和以前搭建的方式方法基本一致,我们这里准备使用 calico 网络插件以及 ipvs 模式的 kube-proxy。

[阅读全文]

使用 GitHub Actions 自动化构建 Golang 应用

GitHub 前一段时间推出了自家的自动化构建工具:GitHub Actions,不过目前还没有开放注册,只能通过申请等待官方审核。我第一时间就提交了申请,现在已经审核通过了,所以第一时间体验了GitHub Actions的功能,总体感受是 Travis CI 之类的工具应该现在在墙角瑟瑟发抖吧 😄?

GitHub Actions允许构建一个完整的 CI/CD Pipeline,与 GitHub 生态系统深度集成,而无需使用 Travis CI 或者 Circle CI 等第三方服务,对于开源项目都是可以免费使用的。如果你也想尽快使用的话,可以通过链接 https://github.com/features/actions/signup 去申请权限。

github actions

[阅读全文]

使用 Kustomize 配置 Kubernetes 应用

如果你经常使用 Kubernetes,那么你肯定就有定制资源清单文件的需求,但是貌似现在大家都比较喜欢使用 Helm,Helm 很好用,但也有很多缺点,比如需要一个 tiller 服务端,需要超高的权限,最重要的是如果你要想自己做一个 Helm Chart 包的话,则不是那么容易的,需要你了解一些 go template 的相关知识,它抛弃了我们在 Docker 和 Kubernetes 上面学到的一些逻辑,今天我们将为大家介绍另外一种名为Kustomize❤️的替代工具。

[阅读全文]

在现有 Kubernetes 集群上安装 KubeSphere

KubeSphere是在 Kubernetes 之上构建的企业级分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。

[阅读全文]

Drone 结合 Helm 部署 Kubernetes 应用

基于 Drone 的 CI/CD(三)

本文是 Drone 系列文章的第三篇,在第一篇文章中我们介绍了如何在 Kubernetes 集群中使用 Helm 来快速安装 Drone,并且用 cert-manager 给 Drone 应用做了自动化 HTTPS,在第二篇文章中我们介绍了如何在 Drone 中使用 Pipeline 来自动化构建 Docker 镜像

本文我们将创建一个 Helm Chart 包,然后使用 Drone Pipeline 来进行自动部署或更新应用到 Kubernetes 集群中。

如果对 Helm 如何部署应用还不熟悉的,同样的,可以查看我们前面的 Helm 系列文章

[阅读全文]

使用 Drone Pipeline 构建 Docker 镜像

基于 Drone 的 CI/CD(二)

本文是 Drone 系列文章的第二篇,在第一篇文章中我们介绍了如何在 Kubernetes 集群中使用 Helm 来快速安装 Drone,并且用 cert-manager 给 Drone 应用做了自动化 HTTPS。

本文我们将创建一个简单的 Golang 应用,通过 Drone 的 Pipeline 来自动化构建 Docker 镜像。

[阅读全文]

使用 Kubernetes Helm 安装 Drone

基于 Drone 的 CI/CD(一)

我们知道 CI/CD 是 devops 中最重要的环节,特别是对于现在的云原生应用,CI/CD 更是不可或缺的部分,对于 CI/CD 工具有很多优秀的开源工具,比如前面我们介绍的Jenkins以及gitlab ci都是非常流行常用的 CI/CD 工具,但是这两个工具整体使用来说有点陈旧和笨重,本文将为大家介绍一个比较热门的轻量级 CI/CD 开源工具:Drone,介绍如何将 Drone 和 Kubernetes 进行结合使用。

[阅读全文]

提高 kubectl 使用生产力[译]

我们知道在使用 Kubernetes 的过程中,kubectl 工具可能是最常用的工具了(可能还没有之一),所以当我们花费大量的时间在使用 kubectl 上面的时候,那么我们就非常有必要去了解下如何高效的使用它了。

本文包含一系列提示和技巧,可以让你更加高效的使用 kubectl,同时还可以加深你对 Kubernetes 各方面工作原理的理解。

[阅读全文]

Go Modules 基本使用(视频)

Go 语言全新依赖管理系统 Go Modules

Go 语言中一直被人诟病的一个问题就是没有一个比较好用的依赖管理系统,GOPATH 的设计让开发者一直有很多怨言,在 Go 语言快速发展的过程中也出现了一些比较优秀的依赖管理工具,比如 govendor、dep、glide 等,有一些差不多成了半官方的工具了,但是这些工具都还是需要依赖于 GOPATH,为了彻底解决这个“祸水”,随着 Go1.11 的发布,Golang 官方给我们带来了依赖管理的全新特性Go Modules,这是 Golang 全新的一套依赖管理系统。下面我们就来看下 Go Modules 是如何使用的。

[阅读全文]

深入理解 Kubernetes Admission Webhook

Kubernetes 提供了需要扩展其内置功能的方法,最常用的可能是自定义资源类型和自定义控制器了,除此之外,Kubernetes 还有一些其他非常有趣的功能,比如 admission webhooks 或者 initializers,这些也可以用于扩展 API,它们可以用于修改某些 Kubernetes 资源的基本行为,接下来我们来看看那些引入了 admission webhooks 的动态准入控制。

[阅读全文]

使用Elasticsearch Operator快速部署Elasticsearch集群

随着 kubernetes 的快速发展,很多应用都在往 kubernetes 上面迁移,现阶段对于无状态应用的迁移是非常容易做到的,但是对于有状态应用的迁移还是有一定门槛的,主要是有状态应用的运行方式各有不同,比如 MySQL、MongoDB、Redis 这些应用运行的方式方法都不太相同,特别是对于线上环境需要高可用的集群模式的时候,则差别就更大了,这就导致了有状态应用向 Kubernetes 的迁移必然进度会很慢。现在比较好的解决方案就是针对有状态应用开发对应的 Operator 应用,比如 prometheus-operator、etcd-operator 等等,关于 Operator 的开发,可以查看前面的一篇入门文章:Kubernetes Operator 快速入门教程 以了解更多信息。

同样的,对于 Elasticsearch 应用,现在官方也推出了基于 Kubernetes Operator 的应用:Elastic Cloud on Kubernetes (ECK),用户可使用该产品在 Kubernetes 上配置、管理和运行 Elasticsearch 集群。

[阅读全文]