一个计算机技术爱好者与学习者

0%

spark-on-k8s-operator简介

spark-on-k8s-operator: Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.
The Kubernetes Operator for Apache Spark aims to make specifying and running Spark applications as easy and idiomatic as running other workloads on Kubernetes. It uses Kubernetes custom resources for specifying, running, and surfacing status of Spark applications.

spark-on-k8s-operator工作流程:
1、提交sparkApplication的请求到api-server
2、把sparkApplication的CRD持久化到etcd
3、operator订阅发现有sparkApplication,获取后通过submission 4、runner提交spark-submit过程,请求给到api-server后生成对应的driver/executor pod
5、spark pod monitor会监控到application执行的状态(所以通过sparkctl可以通过list、status看到)
mutating adminission webhook建svc,可以查看spark web ui

简而言之,spark-on-k8s-operator改变了传统的spark任务运行方式,能够提高资源利用率和节省资源。用户提交CRD之后,k8s才会创建运行spark任务需要的pod,从而能够利用整个k8s集群的资源。任务跑完之后,pod会被回收,从而节省资源。

参考文档:

阅读全文 »

网络代理

《好好学Linux:Linux配置SNAT上网》一文中,我们了解到,通过SNAT的方式能够让局域网中所有主机都能访问外网。
而网络代理,也能让局域网中所有主机都能访问外网。并且,如果网络代理支持科学上网,那么所有使用这个代理的主机也可以科学上网。

本文我们就来学习一下Linux中常见的网络代理配置方法,参考文档:

阅读全文 »

Spark简介

Spark是一个大数据处理框架,可以进行分片计算和并行计算。和MapReduce相比,计算速度更快,编程模型更简单易用。
当需要处理的数据量超过了单机尺度(比如我们的计算机有4GB的内存,而我们需要处理100GB以上的数据),这时我们可以选择spark集群进行计算。
有时我们可能需要处理的数据量并不大,但是计算很复杂,需要大量的时间,这时我们也可以选择利用spark集群强大的计算资源,并行化地计算。

详情参考:

阅读全文 »

Argo CD是啥?

What Is Argo CD? Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
Why Argo CD? Application definitions, configurations, and environments should be declarative and version controlled. Application deployment and lifecycle management should be automated, auditable, and easy to understand.

Argo CD是什么?Argo CD是一个声明式的基于GitOps的用于K8S的持续交付工具。
为什么要使用Argo CD?应用定义、配置和环境都应该被声明和版本控制。应用部署和生命周期管理都应该是自动的、可审计的、易理解的。

Argo CD 遵循 GitOps 模式,使用 Git 仓库作为定义所需应用程序状态的真实来源,Argo CD 支持多种 Kubernetes 清单:

  • kustomize
  • helm charts
  • ksonnet applications
  • jsonnet files
  • Plain directory of YAML/json manifests
  • Any custom config management tool configured as a config management plugin
    Argo CD 可在指定的目标环境中自动部署所需的应用程序状态,应用程序部署可以在 Git 提交时跟踪对分支、标签的更新,或固定到清单的指定版本。

参考文档:

阅读全文 »