在Kubernetes中创建自托管GitHub Actions Runner

GitHub Actions 是一个持续集成和交付 (CI/CD) 平台,利用工作流(Workflow)可以创建自动化构建、测试和部署管道。GitHub Actions不仅限于构建CI/CD工作流,它可以定义任意的工作流完成某个自动化的功能, 例如,定义一个工作流,当代码仓库中有新的问题创建时自动添加适当的标签。GitHub Action Runner是执行工作流的组件。本文介绍了利用开源项目Actions Runner Controller在Kubernetes中部署和管理自托管的容器版本的GitHub Action Runner。

阅读更多

Podman介绍和使用

最近Docker公司改变了Docker桌面版(Docker for Mac和Docker for Windows)的商业策略:最晚到2022/1/31号,需要购买付费订阅了,但对于员工人数小于250,且年收入少于1000万美元的公司仍然免费。虽说对于个人使用Docker桌面版没有影响,但在公司里还是要谨慎使用。 作为对Docker桌面版的替换,本文将对Podman及其使用做一简单的介绍。

阅读更多

Kind创建本地Kubernetes集群

Minikube创建本地Kubernetes集群一文中提到过用Docker驱动创建的Kubernetes集群既不支持ingress,也不支持LoadBalancer类型的服务,所以基本上不可用,而通过Hypervisor驱动创建的Kubernetes集群也需要一些额外的配置(端口转发)才能在VPN的情况下使用。Kind是另一款在Docker容器中创建并运行本地Kubernetes集群的工具,比Minikube的Docker驱动更全面,同时也无需额外的配置就可以在VPN的情况下使用。本文将简单介绍下Kind,并在Mac主机上用Kind创建一个本地Kubernetes集群。

阅读更多

Minikube创建本地Kubernetes集群

在学习和使用Kubernetes的过程中,都希望能够快速创建一个本地的Kubernetes集群用作测试之用。之前一直使用docker公司的docker for mac创建的Kubernetes集群,但是经常出现启动不起来的问题,也没有详细的日志来定位问题,另外docker for mac创建的集群不支持改变系统组件的配置,比如修改API Server或Kubelet的参数,开启某些Alpaha版本的特性等。虽然Minikube已经存在很久,而且早于docker for mac,但是由于种种原因没能尝试,后经同事推荐,尝试了一下,确实蛮强大。本文将简单介绍下Minikube,以及在Mac主机上用Minikube创建和配置一个本地集群。

阅读更多

记一次阿里云Kubernetes集群内部服务域名解析不稳定的排查

最近,由于项目需求新建了一个阿里云托管版Kubernetes集群(Managed ACK),但是发现部署在集群中的微服务相互调用不稳定,导致业务不可用。经过排查,最终发现添加在集群工作节点上的安全组与当前集群的安全组不一致,使得跨节点的Pod访问流量被阻止掉了。本文将详细介绍这一问题的排查过程。

阅读更多