一、安装helm wget https://get.helm.sh/helm-v3.8.0-linux-amd64.tar.gz tar -xvf helm-v3.8.0-linux-amd64.tar.gz cp linux-amd64/helm /usr/local/bin/ chmod 755 /usr/local/bin/helm # 验证 helm version ingress-nginx安装使用 一、安装配置 # helm安装ingress-nginx # 添加repo helm repo
Ingress 是一种 Kubernetes 资源,也是将 Kubernetes 集群内服务暴露到外部的一种方式。
使用minikube部署k8s非常简单,执行minikube start就可以完成k8s部署,执行minikube delete就可以卸载掉k8s。当然要实现如此快速的部署/卸载k8s操作,是有一些前提工作需要准备的,如果部署机器存在代理,则还需要踩一些坑。
Mac 下默认没有安装 rename 命令,通过 brew install rename 安装。
在 Rainbond 集群中,每个团队对应于底层 Kubernetes 的一个 Namespace ,由于之前使用的底层网络无法进行 Namespace 级别的网络管理,所以在 Rainbond 同一集群下的不同团队间,所以组件可以自由的进行互相访问,用户无法对此做出任何限制,这也导致了底层网络的安全隐患一直存在。现在由 cilium 提供网络服务的 Kubernetes 集群可以很好的解决这一问题,用户可以根据自己的需求,制定针对每个团队、每个组件的网络策略,加强底层网络管理,实现网络层的安全把控。
对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server。当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kubernetes 调度实现高可用。
nginx 是企业中最常用的 7 层负责均衡产品之一,在企业实际业务运行中起到非常重要的作用。自 2004 年推出,nginx 已经有 10 余年的历史,广泛应用于大型成熟项目。
controller类似装的k8s组件,时常的要去api去交互,时常去获取api的相关的信息,刷新自己的规则,类似与其他控制器 ingress,k8s设计了一个比较全局性的负载均衡器,准确的来说Ingress它是k8s中的一个规则,实现这个规则就是使用的这个控制器,一般称为ingress控制器
ReplicaSet确保任何时间都有指定数量的Pod副本在运行。通常用来保证给定数量的、完全相同的Pod的可用性。建议使用Deployment来管理ReplicaSet,而不是直接使用ReplicaSet。
前面文章介绍了基于nginx实现ingress controller的功能,本章节接续介绍kubernetes系列教程中另外一个姐妹开源负载均衡的控制器:haproxy ingress controller。
Helm 是管理 Kubernetes 的应用管理工具 相当于centos的yum,python中pip,node中的npm.
本文是第七期DevOps训练营,开营环境准备内容。通过terraform+kind进行本地测试环境Kubernetes集群部署,部署ArgoCD来对后续DevOps工具进行交付。
k8s真是一个复杂的东西,每一次安装都可能出现不一样的问题,本文特记录下来彤哥安装过程中出现的一些问题及解决方案。
Helm是Kubernetes的一个包管理器,它可以用于安装和管理Kubernetes应用程序。在安装Nginx Ingress Controller之前,我们需要先安装Helm。
Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。
企业中使用 Kubernetes 构建云原生联邦学习平台是最佳的选择,本文详细解析了 KubeFATE 的技术要点。作者:马陈龙,VMware 中国研发中心云原生实验室工程师,KubeFATE 开源项目维护者。
Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行、监控和排查应用程序故障。
Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由。流量路由由 Ingress 资源上定义的规则控制。
在云计算环境中,资源弹性是其核心优势之一。云厂商通过提供按需分配和自动扩展的资源,使得用户可以根据业务需求灵活地调整资源使用,从而实现资源的最优利用。然而,这种资源弹性的实现依赖于云厂商基础网络的高可靠性和高性能。那么,云厂商是如何保证其基础网络的高可靠性和高性能的呢?
译自:http://docs.cilium.io/en/stable/architecture/
通过 Ingress-nginx(TKE 组件) 代理 ws 连接成功后, 空闲连接会在默认 60s 后 断开,有时业务中想要配置空闲连接更长时间再断开。
一、安装 1.1、安装istio # 安装 # 下载 https://github.com/istio/istio/releases/download/1.13.2/istio-1.13.2-linux-amd64.tar.gz tar -xvf istio-1.13.2-linux-amd64.tar.gz cp /root/istio-1.13.2/bin/istioctl /usr/local/bin/ istioctl version istioctl operator init vim d
自建K8s上,如果部署了Nginx-Ingress,通常一些默认的参数有些可能需要优化下以便提升它的性能(阿里云之类的云厂商提供的Ingress是优化过的)。
近期在 Docker 中发现了一个 影响所有版本的安全漏洞 CVE-2022-24769,该漏洞已经在 Docker 最新的版本 v20.10.14 中修复。
Traefik 2.2新增的功能如下: 1. 支持了udp 2. traefik2.2 支持使用K/V存储做为动态配置的源,分别是 consul, etcd, Redis, zookeeper 3. 能够使用kubernetes CRD自定义资源定义UDP负载平衡 IngressRouteUDP。 4. 能够使用 rancher, consul catalog, docker和 marathon中的标签定义UDP的负载平衡 5. 增加了对ingress注解的主持 6. 将TLS存储功能 TLSStores添加到Kubernetes CRD中,使kubernetes用户无需使用配置文件和安装证书即可提供默认证书。 7. 在日志中增加了http的请求方式,是http还是https 8. 因为TLS的配置可能会影响CPU的使用率,因此增加了 TLS version和 TLS cipher使用的指标信息 9. 当前的WRR算法对于权重不平衡端点存在严重的偏差问题,将EDF调度算法用于WeightedRoundRobin, Envoy也是使用了 EOF调度算法 10. 支持请求主体用于流量镜像 11. 增加了 ElasticAPM作为traefik的tracing系统。 12. Traefik的Dashboard增加了UDP的页面 13. Traefik也增加了黑暗主题
1、网络的命名空间:Linux 在网络栈中引入网络命名空间,将独立的网络协议栈隔离到不同的命名空间中,彼此间无法通信;Docker 利用这一特性,实现不容器间的网络隔离。
Kruise Rollouts 是一个旁路组件,它为一系列 Kubernetes 工作负载(如 Deployment and CloneSet)提供高级部署功能,如金丝雀、流量路由和渐进式交付功能
提示:更多介绍参考:https://github.com/longhorn/longhorn。
Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了应用部署,规划,更新,维护的一种机制。
上一篇文章中介绍了基于Nginx实现Ingress Controller的实现,介绍了Nginx Ingress Controller安装、相关功能,TLS,高级特性等介绍,本章开始介绍基于腾讯云TKE实现ingress服务暴露。
本次带来的分享是在TKE集群上搭建harbor私有仓库,另外推荐腾讯云的容器镜像服务TCR
Helm是k8s的包管理工具,类似Linux系统常用的 apt、yum等包管理工具。
registry和image是修改镜像仓库和镜像名为阿里云的仓库(该仓库为个人用户仓库)。官方镜像国内网络基本拉取不下来,默认配置使用Deployment控制器,副本数为1。你可以修改为DaemonSet,每个节点部署一个pod,此处使用nodeSelector将ingress控制器固定在master上
上一节,我们分享了如何对外暴露服务,今天我们再来看另外一种对外暴露服务的方式:ingress。那什么是ingress呢?它跟我们之前接触的暴露服务又有什么不同?
Linux内核在2022年主要发布了5.16-5.19以及6.0和6.1这几个版本,每个版本都为eBPF引入了大量的新特性。本文将对这些新特性进行一点简要的介绍,更详细的资料请参考对应的链接信息。总体而言,eBPF在内核中依然是最活跃的模块之一,它的功能特性也还在高速发展中。某种意义上说,eBPF正朝着一个完备的内核态可编程接口快速进化。
可以看到上面我们的例子中from的写法是或得关系,如果是 AND 的关系的话写法如下:
ko-build/ko: Build and deploy Go applications on Kubernetes 是一个专注于为 Go 应用程序构建容器镜像的工具。
好久没有写系列博客了,本文主要是对网上文章的总结篇,主要是将安装和运行代码做了一次真机实验,亲测可用。文章内包含的脚本和代码,多来自于网络,也有我自己的调整和配置,文章末尾对参考的文献做了列举,方便大家参考。
Ingress是一种Kubernetes资源,用于将外部流量路由到Kubernetes集群内的服务。与NodePort相比,它提供了更高级别的路由功能和负载平衡,可以根据HTTP请求的路径、主机名、HTTP方法等来路由流量。
kubectl get secret -n kubernetes-dashboard kubectl describe secret dashboard-admin-token-xp78c(自己的东西(上面输出)) -n kubernetes-dashboard #################################################################minikube#################################################
在学习mac 上学习k8s系列(9)nginx-ingress lua的时候遇到了一个问题nginx-ingress lua连接redis失败,这里涉及到了多个复杂系统间的通信:k8s,nginx ,lua,redis ,golang的后台服务 ,技术栈也跨跃性也很大,从k8s的yaml配置到nginx的conf配置到lua脚本,排查起来非常麻烦,下面介绍下整个问题解决的思路和流程,希望对大家有所启发。
本文只是笔者针对 Kubernetes 在生产环境运行的一些关于架构设计和实现方案的总结。
minikube addons enable ingress --alsologtostderr
前面介绍了BCC可观测性和BCC网络,但对底层使用的eBPF的介绍相对较少,且官方欠缺对网络方面的介绍。下面对eBPF进行全面介绍。
很久之前我写过一篇介绍使用 Nginx-Ingress 实现蓝绿部署和金丝雀发布的文章,但那篇文章只是介绍了 nginx-ingress 具备这些能力,真正应用还要很多额外的配置和操作,况且现在能实现这些功能的并不只有 nginx-ingress,Service Mesh 工具如:Istio,App Mesh,Linkerd;Ingress Controller 如:Contour,Gloo,NGINX 都能实现,而我们需要的更多是进行金丝雀发布之后指标的监控,流量的调整以及出现问题后的及时回滚。而 Flagger 就是这样一个帮助我们解决上面这些问题的开源工具。
本文将介绍如何使用 KubeFATE 在两个 Kubernetes 集群上部署互通的两个FATE 实例。这两个 FATE 可以完成各种联邦学习的任务。
这个 Dockerfile 的作用是将一个 Golang Web 应用程序打包为一个 Docker 镜像,使其可以在 Docker 容器中运行并通过 80 端口对外提供服务。
在新版的Kubernetes中系统资源的采集均使用Metrics-server,可以通过Metrics采集节点和Pod的内存、磁盘、CPU和网络的使用率
Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分发挥出高性能的优势。Nginx Ingress工作原理:
领取专属 10元无门槛券
手把手带您无忧上云