docker | kubernetes 容器技术
文章平均质量分 74
docker & kubernetes 容器技术
IT Panda
这个作者很懒,什么都没留下…
展开
-
通过图数据库 Neo4J 建立疫情行动轨迹及接触关系图
最近疫情反复,我被为拜托建一张“某某行动轨迹及接触关系图”。这类行动轨迹或接触关系,可以抽象成网或者图,从这类图结构立刻就会联想到图数据库Neo4J,正好并没有在公司电脑上安装和使用过Neo4J,于是在这里简单记录下,整个过程还是非常简单的,10min之内即可搞定。Neo4J 安装 & 启动选择通过docker镜像进行安装,首先打开 DockerHub,搜索Neo4J。这里选择最新版本即可,拉取镜像 docker pull neo4j$ docker image ls neo4jREP原创 2021-08-09 07:32:49 · 1131 阅读 · 2 评论 -
Docker <none> <none> - dangling
如果查看docker的image或者container的话,肯定会看到很多 <none>:<none> 的东西,那么这都是是些什么? 可以删除了吗?答案是: 分情况讨论如果使用的是带-a参数的命令,如docker container ls -a或者docker image ls -a那么这里看到的所有<none>:<none>的东西,很大几率上...原创 2019-09-13 07:20:08 · 6926 阅读 · 0 评论 -
Kubernetes弃用Docker的由来和始末
2020年12月初,Kubernetes在发布v1.20的时候重磅宣称将逐渐弃用Docker,一石激起千层浪,瞬间引爆容器圈;但没想到已经过去两个月时间了,还有文章用UC体误导吃瓜群众,“还在学Docker?”、“Docker已死!”; 额… 累了,毁灭吧,赶紧的…所以在此梳理下整件事情的来龙去脉,若有不正确的地方还请指正,非常感谢!快速回顾最初Docker是建立在Linux的LXC容器技术之上,但LXC最早也是由Google贡献给Linux的,所以一定程度上说没有Google就没有Docker。原创 2021-02-01 08:50:57 · 6449 阅读 · 0 评论 -
Kubernetes autoscaling 自动扩缩容
很多时候需要对线上应用进行扩容和缩容,扩容以提高应用处理能力,缩容以节约成本;而以往的系统对在线扩缩容支持的并不是很好,或多或少都需要开发或运维人员介入;Kubernetes提供的HPA - Horizontal Pod Autoscaler - Pod水平扩缩容,则解决了这个问题,只需要定义扩缩容的阈值,之后就交给Kubernetes处理即可。基本概念HPA默认 15s 执行一次 (当然也可以修改 --horizontal-pod-autoscaler-sync-period XXs),每次执行会查原创 2020-09-11 09:21:35 · 1110 阅读 · 1 评论 -
Kubernetes Pause pod
我们会发现在 kubernetes 中,有为数不少的 gcr.io/google_containers/pause-amd64 container;他们的大小都很小只有几百KB,同时entrypoint都为/pause了解它是什么之前,先看看docker和pod之间的一个主要区别,pod是一组逻辑相关的docker container集合;我们已知 container 要职责单一,同时 pod 是逻辑相关的 container 的集合,pod内部的container共享相同的网络磁盘CPU内存等资源;原创 2020-09-11 09:08:26 · 592 阅读 · 0 评论 -
Argo 101 - 3 : Download & Upload with 「script」 template
上一篇中成功连通Argo与Storage - Minio,那么现在就可以使用 script 这种 template 来 upload 和 download 数据;对于Data Engineering或者Machine Learning来说,这一步都是必须的;download既然是download,那首先需要了解download的 from 和 to 都是哪儿from,肯定是Minio了,但是连接Minio需要mc(Minio client)的帮助,所以需要使用minio/mc这个imageto,肯原创 2020-07-14 17:57:23 · 2822 阅读 · 0 评论 -
Train Machine Learning models with MLflow, Deploy with Seldon
MLflowMLflow: the open-source platform for the machine leaning lifecycle, 管理machine learning整个生命周期的一款开源产品,主要提供了三种服务:MLflow Tracking: 记录并维护了machine learning的代码,数据,matrics,config,results…并结合UI展示MLfl...原创 2019-11-10 16:34:16 · 903 阅读 · 0 评论 -
OpenFaaS 101 - 1 : Serverless & Faas
OpenFaaS 101 - 1 : Serverless & Faas在开始 OpenFaaS 之前,需要先了解两个概念: Serverless Computing, FaaS近几年 MicroService 微服务,Cloud Computing云计算 ,Kubernetes 等技术 已经成熟的落地,甚至变着花的玩儿的时候;很多人开始探索下一代架构 Serverless Compu...原创 2020-05-04 18:42:10 · 698 阅读 · 1 评论 -
OpenFaaS 101 - 2 : 安装 OpenFaaS 以及第一个 Function
首先 OpenFaaS 可以部署在 k8s, OpenShift, Docker Swarm 上,其中官方推荐使用 k8sInstall faas-cli如果是Mac的话,可以直接 brew install faas-cliCreate two namespaces openfaas & openfaas-fnkubectl apply -f https://raw.githubu...原创 2020-05-04 18:45:14 · 1595 阅读 · 0 评论 -
OpenFaaS 101 - 3:Hello World
第一个列子,当然是 Hello World 了… 下面使用 Python, Go, Java 分别实现…首先准备好目录:└── helloworld ├── go ├── java └── pythonPython使用CLI创建 function faas-cli new --lang python hello-world, 会自动生成以下文件└── hello...原创 2020-05-04 18:48:05 · 841 阅读 · 1 评论 -
OpenFaaS 101 - 4:Design & Architecture
掌握了hello world之后,就来看看OpenFaaS架构Overview如上图,OpenFaaS在架构上,属于承上启下的第二层,需要部署在k8s上,同时需要container registry存储image;也需要NATS负责异步处理,Prometheus负责收集metrics,同时负责扩容workflow上看:OpenFaaS Gateway负责处理所有request (sv...原创 2020-05-04 18:50:35 · 784 阅读 · 0 评论 -
使用Cobra创建功能强大的命令行CLI
我敢肯定所有人都在使用git,也有很大一部分在使用kuberntes,但是不确定你是否会对每天都在操作使用的这俩命令行CLI感到好奇? 是否想过对它们的实现一探究竟?毕竟,好奇心是驱使人类进步的一大动力哈哈,直接进入今天的主题;Cobra,一个可以用来创建强大功能命令行CLI的工具,git / kubectl 都是它的代表作。就不翻译 文档 了,先说下基本使用方式,然后直接上例子。Golang 配置和引用 Cobrago get -u github.com/spf13/cobra/cobra原创 2020-07-03 22:49:38 · 848 阅读 · 0 评论 -
Argo 101 - 1 : Hello Argo
首先,啥是workflow?Wiki:a workflow consists of an orchestrated and repeatable pattern of activity是一些被精心编排过的,重复性的活动;对于Data Engineering或者Machine Learning来说,workflow 就是 DAG (有向无环图),而DAG中的每一步都是一个task,这些task协同工作来完成具体的任务;比如说,ETL,Machine Learning,deployument…而开原创 2020-07-12 00:07:54 · 676 阅读 · 0 评论 -
Argo 101 - 2 : S3/Minio Storage
继续Argo之旅;Argo基本概念再熟悉下 Argo 的核心概念:WorkflowTemplate,可以看作是function,Argo中的Template有两类:定义Templatecontainer,最常见的,也是Argo的优势script,基于container,你可以写点什么resouce,直接操作k8s的任何resourcesuspend,暂停一段时间,等同于 Thread.wait(int time)调用Templatesteps,直接调用其他Template原创 2020-07-12 17:23:19 · 1125 阅读 · 0 评论 -
Machine Learning - A/B Test
首先,A/B testing 并不是机器学习独有的概念,事实上它被用在everywhere[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7CfXPMHk-1594375165804)(https://media2.giphy.com/media/9P3fsk7SesjIverw4Q/giphy-downsized.gif)]...原创 2020-07-10 22:50:56 · 867 阅读 · 0 评论 -
使用Fabric8 kubernetes-client java client 操作kuberntes 自定义资源CR
kubernetes-client (fabric8) to interact with kubernetes custom resourceskubernetes中的一切东西都叫做 resource,k8s 默认的提供了很多 resource,比如 pod/deployment… 而 custom resource 允许用户基于已有resource,创建新resource来扩展k8s;在这里并不打算深入介绍CR/CRD;而着重介绍下如何通过 fabric8·kubernetes-client 来操作C原创 2020-06-21 16:02:58 · 5005 阅读 · 0 评论 -
Kubernetes Namespace Stuck in status Terminating
公司的DEV kubernetes环境需要重新搭建,在搭建的过程中,发现了一个有趣的现象,在尝试kubectl delete ns XX的时候, namespace一直卡在了Terminating的状态上.在尝试了诸多方式后,只有直接调用ApiService的API才可行,具体方法:kubectl get secretskubectl describe secrets xxx (anyone...原创 2019-11-10 16:35:26 · 582 阅读 · 0 评论 -
kubernetes DNS
最近公司的k8s集群中不时的会出现域名解析的问题,但排查问题的过程却费了些时间,为了以后的经验积累,在这里在梳理下用到的基本知识.DNS: /etc/resolv.conf有四个重要的元素:nameserver //定义DNS服务器的IP地址,可以有多个,分行即可domain //定义本地域名search //定义域名的搜索列表,可以是多个,空格分隔即可so...原创 2019-11-02 06:29:09 · 601 阅读 · 1 评论