使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群

前段时间,我们在 ​「使用 Kind 在 5 分钟内快速部署一个 Kubernetes 高可用集群」一文中介绍了如何使用 Kind 这个开箱即可快速部署 Kubernetes 高可用集群的神器,相信不少同学用上这个神器后大大的降低了 Kubernetes 集群的部署难度和提高了 Kubernetes 集群的部署速度。不过有一点比较遗憾的是 Kind 当前仅仅支持在本地快速构建一个开发或者测试环境,目前暂时还是不支持在生产环境中部署 Kubernetes 高可用集群的。 今天,我们就要给大家介绍另一款可以支持在生产环境中部署 Kubernetes 高可用集群的利器 Sealos。 什么是 Sealos ? Sealos 是一个 Go 语言开发的简单干净且轻量的 Kubernetes 集群部署工具,Sealos 能很好的支持在生产环境中部署高可用的 Kubernetes 集群。 Sealos 架构图 Sealos 特性与优势 支持离线安装,工具与部署资源包分离,方便不同版本间快速升级。 证书有效期默认延期至 99 年。 工具使用非常简单。 支持使用自定义配置文件,可灵活完成集群环境定制。 使用内核进行本地负载,稳定性极高,故障排查也极其简单。 Sealos 设计原则和工作原理 1. Read more…

kubernetes生产环境下的iptables安全配置

控制节点(主节点)所需要的端口如下: 协议 端口 服务 TCP 6443 k8s API server TCP 2379-2380 etcd server client API TCP 10250 Kubelet API TCP 10251 kube-scheduler TCP 10252 kube-controller-manager TCP 10255 Read-only Kubelet API UDP 8472 flannel TCP 9099,9100 calico TCP 179 bgp TCP 111 rpcbind 使用 NFS 作为持久化存储 IPIP Calico 需要允许 IPIP 协议 Read more…

NetworkPolicy网络策略

资源隔离设计 本案例使用NetworkPolicy来进行资源隔离 要实现的目的: 用户isv应用不能访问k8s集群应用 k8s集群应用可以访问isv应用 isv应用可以访问外网 本案例的架构图:   创建isv-demon namespace

  定义资源 为了不跟宿主机端口冲突, web的service端口定义为8800

    创建WEB, API and DB Pods/Services

  测试:

  定义networkpolicy: deny-all

  定义进栈和出栈访问:

  创建NetworkPolicy

  测试:

  总结: 首先一定要给namespace打label, 因为NetworkPolicy是根据lable来match的 参考: https://alwaysupalwayson.blogspot.com/2019/09/kubernetes-network-policies-how-to.html https://github.com/mathieu-benoit/k8s-netpol 和 https://ahmet.im/blog/kubernetes-network-policy/ https://github.com/ahmetb/kubernetes-network-policy-recipes Read more…