创建一个initdb.sql文件,输入如下内容: -- This is a postgres initialization script for the postgres container. -- Will be executed during container initialization ($> psql postgres -f initdb.sql) CREATE ROLE adsuser WITH LOGIN PASSWORD 'initial' INHERIT CREATEDB;…
Jerry之前的文章如何在Kubernetes里创建一个Nginx应用,已经使用kubectl命令行创建了Pod,但是在kubernetes中,Pod的IP地址会随着Pod的重启而变化,因此用Pod的IP地址来访问我们部署的nginx应用不太合适. Kubernetes里推荐的方式是用Service来消费nginx服务. Service为一组Pod提供一个统一的入口,并为它们提供负载均衡 和服务发现支持. 使用如下命令行基于pod创建一个service: kubectl expose deplo…
使用命令行kubectl run --image=nginx nginx-app --port=80 创建一个名为nginx-app的应用 结果: deployment.apps/nginx-app created 使用命令行kubectl get pods查看创建结果,状态已经为running: 使用命令行kubectl describe pods查看pod明细: 把pod id记下来: nginx-app-f75d46bd9-q6c76 使用该pod id可以执行一些命令: kubectl…
环境: golang 1.15 依赖包采用go module 实例:现在往 Kubernetes 添加一个名叫 Network 的 API 资源类型.它的作用是,一旦用户创建一个 Network 对象,那么 Kubernetes 就应该使用这个对象定义的网络参数,调用真实的网络插件,为用户创建一个真正的"网络".这样,将来用户创建的 Pod,就可以声明使用这个"网络"了. 结构如下: MacBook-Pro kubernetes % tree k8s-control…
创建一个类型为NetworkPolicy的Kubernetes对象的yaml文件. 第九行的podSelector指定这个NetworkPolicy施加在哪些pod上,通过label来做pod的过滤. 从第16行开始的ingress定义,定义了只有具备标签component=ads,module=app的pod才能够连接component=ads, module=db的pod. 首先创建一个临时的pod,使用正确的label(component=ads,module=app)去访问db pod:…
顾名思义,ConfigMap用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件. ConfigMap同Kubernetes的另一个概念secret类似,区别是ConfigMap主要用于保存不包含敏感信息的明文字符串. 创建方式: kubectl create configmap special-config --from-literal=i042416=jerry 上述命令行创建了一个名为special-config的键值对, key为i042416, 值为jerry 接下来…
系列目录 前面我们讲解了如何搭建nexus服务器,以及如何使用nexus搭建docker私有镜像仓库,示例中我们都是手动docker login登陆私服,然后通过命令拉取镜像然后运行容器.然而这种做法在kubernetes集群中是不可行的.第一,项目规模不同,每天产生的镜像数量也不同,如果每天产生大量仓库都要手动执行docker pull来拉取,非常麻烦也非常容易出错.第二,集群规模不同,节点数量也不同,少则三五个,多则成百上千甚至更多.我们一台台拉取显然非常麻烦,即便使用ansible脚本批量…
系列目录 上一节我们讲解到了如何限制用户访问dashboard的权限,这节我们讲解一个案例:如何创建一个只读权限的用户. 虽然可以根据实际情况灵活创建各种权限用户,但是实际生产环境中往往只需要两个就行了一个是前面创建的拥有集群所有权限的用户,另一个是一个拥有只读权限的普通用户.把只读权限分配给开发人员,使得开发人员也可以很清楚地看到自己的项目运行的状况. 在进行本章节之前,大家可以思考一下怎么用前面的知识来实现,大家可能都有思路,但是要真正的实现起来也不是一简非常容易的事,可能需要进行多轮修改和…
本周四晚上8:30,第二期k3s在线培训如约开播!本期课程将介绍k3s的核心架构,如高可用架构以及containerd.一起来进阶探索k3s吧! 报名及观看链接:http://z-mz.cn/PmwZ 本文来自Rancher Labs 在云原生领域中,Kubernetes累积了大量用例.它能够在云中部署应用容器.安排批处理job.处理工作负载以及执行逐步升级.Kubernetes使用高效的编排算法来处理这些操作,即便是大规模集群这些算法依旧表现良好. 此外,Kubernetes主要用例之一是运行…
作者简介: 吕冬冬,云知声超算平台架构师, 负责大规模分布式机器学习平台架构设计与功能研发,负责深度学习算法应用的优化与 AI 模型加速.研究领域包括高性能计算.分布式文件存储.分布式缓存等. 朱唯唯,Juicedata 全栈工程师,负责 JuiceFS CSI Driver 的开发和维护,负责 JuiceFS 在云原生领域的发展. 云知声 Atlas 团队在 2021 年初开始接触并跟进 JuiceFS 存储,并且在早期已经积累了丰富的 Fluid 使用经验.近期,云知声团队与 Juiceda…