暂时未有相关云产品技术能力~
暂无个人介绍
xdm,我们都知道 golang 是天生的高并发,高效的编译型语言 可我们也都可知道,工具再好,用法不对,全都白费,我们来举 2 个常用路径来感受一下
大家在工作中定义错误码的时候都是如何处理的? xdm 可以评论区交流交流 我看到过有的是这样定义错误码的
很多人使用 Goland 有很长时间的,却没有好好利用上 Goland 工具带给我们的遍历,今天咱们就来解锁一下新技巧
大家平时有没有遇到自己连接云服务器,ssh 连接上去之后,发现自己的一些小工具用不了 例如go build无法使用 ,由于我们安装配置golang 环境的时候
CGO 涉及的数据类型转换包含一下内容: • 数值类型 • 字符串和切片类型 • 结构体、联合体、枚举类型‘ • 数组类型 • 指针类型 • 数组和指针间的转换 • 切片和切片之间的转换
CGO 是 GO 语言里面的一个特性,CGO 属于 GOLANG 的高级用法,主要是通过使用 GOLANG 调用 CLANG 实现的程序库
【k8s 系列】k8s 学习五,k8s 集群部署尝试
Web 中间件怎么玩?
咱们以前单体应用里面有很多的应用和功能,依赖各个功能之间相互调用,使用公共的代码包等等,排查问题,使用类似于 gdb/dlv 工具或者直接查看代码日志,进行定位和分析
如果期望自己的 pod 需要部署到指定的 Node 上,那么可以在 pod 的 yaml 中加上 nodeSelector 节点标签选择器,或者在 pod 中加上节点亲缘性的配置
上一次,相信大家已经知道关于 LRU 页面置换算法的思想和实现了,这里可以一键直达:
首先,redis 删除数据的策略目前来看有三种
我正在参与掘金创作者训练营第4期,点击了解活动详情,一起学习吧! 咱们接着上一部分来进行分享,我们可以在如下地址下载 redis 的源码
我正在参与掘金创作者训练营第4期,点击了解活动详情,一起学习吧!
说到 k8s 的认证机制,其实之前咋那么也有提到过 ServiceAccouont ,以及相应的 token ,证书 crt,和基于 HTTP 的认证等等
说到高可用,咱们在使用主机环境的时候(非 k8s),咱做高可用有使用过这样的方式: • 服务器做主备部署,当主节点和备节点同时存活的时候,只有主节点对外提供服务,备节点就等着主节点挂了之后,立刻补位
好不容易,终于来到 k8s 自身的原理之 关于 Service 的一部分了 前面我们用 2 个简图展示了 pod 之间和 pod 与 node 之间是如何通信息的,且通信的数据包是不会经过 NAT 网络地址转换的
我们知道容器是通过 pod 来承载的,我们在 k8s 中,服务都是跑在 pod 里面的,pod 里面可以跑 1 个容器,或者跑多个容器,那么咱们 pod 里面跑 1 个服务容器,咱真的就以为里面就只有这样个容器吗
前面咱们分享了 mater 和 worker 节点里面都有哪些组件,他们又是各自主要负责的工作是什么,现在我们心里应该都有数了吧
前面有分享到 master 主节点上的 四个组件,etcd,ApiServer,scheduler,controller manager
前面我们说到 K8S 的基本原理和涉及的四大组件,分享了前两个组件 etcd 和 ApiServer 这一次我们接着分享一波
上一部分我们说到如何使用 Statefulset 部署有状态的应用,Statefulset 可以做到部署的 每一个 pod 能够独立的拥有一个持久卷声明和持久卷
咱们从 pod 一直分享到最近的 Statefulset 资源,到现在好像我们只是知道如何使用 k8s,如何按照 k8s 设计好的规则去应用,去玩 k8s
上一部分与大家分享到 Statefulset 与 RplicaSet 的区别,以及 Statefulset 的特点,能做的一些事情及一些注意事项
上一部分我们分享到了使用 RS 没有办法让自己管理的多个 pod 都有一个独立的持久化声明,RS 没有办法在指定模板中对不同的 pod 做差异化处理
前面我们分享很多关于 K8S 的内容,有没有发现 pod 都是无状态,RS / RC 管理的 pod 也是无状态的,我们可以任意删除一个 pod,副本管理器又会马上给我们创建一个 pod 那么如果咱们的这个 pod 是有挂载持久卷的,那么我们用老方法可还行?
上次我们说到自己手动的做使用 RS 的方式来升级 pod ,感觉还是蛮复杂的,并且容易弄错,实际生产过程中,肯定不会这样来弄,很危险
上一次我们分享到,如何去升级一个 pod 的新的版本,相信在理论上,大家都知道可以如何做了,那么我们来进行实践一下,看看都会遇到哪些问题,以及操作起来是否便捷,感兴趣的可以一起来体验一波
在之前的分享中,我们知道一个程序如何放到容器中,一个镜像如何生成 pod, pod 的创建,运行,管理,删除过程,挂载等等
**我们在 pod 中运行容器的时候,是否也会有想要获取当前 pod 的环境信息呢?**咱们写的 yaml 清单写的很简单,实际上部署之后, k8s 会给我们补充在 yaml 清单中没有写的字段,那么我们的 pod 环境信息和容器的元数据如何传递到容器中呢?是不是也是通过获取这些 k8s 默认给我填写的字段呢?
对于上一篇文章我们分享了为什么要使用 ConfigMap ,我们创建 ConfigMap 的时候可以传入单个或者多个键值对,也可以传入文件,还分享了如何简单的传入 ConfigMap 里面的数据作为环境变量
今天我们来分享 ConfigMap 资源,分享之前,我们来看看前面我们跑应用程序都是怎么玩的 前面的应用程序中,都是没有写入配置的,顶多用到了卷,用来存储数据
我们继续来查看 k8s 的卷,上一次我们分享了将磁盘挂载到容器中,empyDir 和 gitRepo 都是会随着 pod 的启动而创建,随着 pod 的删除而销毁
前面的文章我们分享了 pod ,RC,RS,DaemonSet,CJ,Service 等各种资源
【k8s 系列】k8s 学习二十,就绪探针 提起探针,不知兄dei 们是否有印象,之前我们分享过存活探针,分享存活探针是如何确保异常容器自动重启来保持应用程序的正常运行,感兴趣的可以查看文章 k8s 系列k8s 学习十七,存活探针副本机制2
之前我们简单的了解一下 k8s 中 service 的玩法,今天我们来分享一下 service 涉及到的相关细节,我们开始吧
上一篇讲到的 ReplicationController 是用于复制和在异常的时候重新调度节点的 K8S 组件,后面 K8S 又引入了 ReplicaSet 资源来替代 ReplicationController
本次我们开始 k8s 中存活探针和副本控制器的学习
在 k8s 中,我们会轻轻松松的部署几十上百个微服务,这些微服务的版本,副本数的不同进而会带出更多的 pod
之前我们学习过的的 docker ,例如我们运行
今天开始来分享Service 的基础知识,后续我们可以慢慢打磨,分享 Service 的进阶知识和原理
顺带说一下 volume 和 namespace ,咱们就开始分享一下 service 是什么
上面简单说了一下 pod 的基本知识点,待到后面会使用到 pod 的一些高阶知识点的时候,还可以再细细琢磨底层原理
上一篇分享了 pod 的基本知识点,有 K8S 环境的小伙伴还是可以用起来的,还对比较简单,知道了 pod 的 yaml 文件结构,标识,基本的创建 pod 和删除 pod 的用法等等,我们继续
在 K8S 中, pod 是一个非常关键的存在,我们一起来看看 pod 具体是个什么?
接着上一篇继续部署应用到 K8S中 之前简单部署的简单集群,三个工作节点是运行在 docker 和 kubelet 的,还有一个是控制节点
本身在 K8S 中部署一个应用是需要写 yaml 文件的,我们这次简单部署,通过拉取网络上的镜像来部署应用,会用图解的方式来分享一下,过程中都发生了什么
今天我们先来尝试使用一下 minikube ,可以进入到 kubernetes.io/zh/docs/tut… 页面上直接感受,或者通过如下指令,将 minikube 放入我们的服务器上面进行使用
K8S 部署方式有很多,有的方式不太友好,需要注意很多关键点,有的方式对小白比较友好,部署简单方便且高效
k8s 中支持的 node 数 和 pod 数