![](https://img-blog.csdnimg.cn/20200529215815783.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
K8s && dockr容器编排
文章平均质量分 53
docker 容器、k8s 容器编排技术
唐墨123
我的生涯一片无悔,我想起那天夕阳下的奔跑,那是我逝去的青春。
展开
-
《k8s 源码解析1 ---- 插件机制》
插件定义:用于执行目标明确的独立功能可执行文件,或任务触发。 例如:一个用于压缩日志的shell脚本,其它语言(python、c++、java、golang)可执行文件。插件的实现方式:exec函数组:k8s中插件的实现方式:// 显然,k8s中插件的实现方式有2个接口:查找可执行文件(的绝对路径)、与参数 环境变量一起调用exec函数组// PluginHandler is capable of parsing command line arguments原创 2022-05-17 15:54:27 · 418 阅读 · 0 评论 -
《k3s 源码解析5 ----master逻辑源码分析2》
一、k3s server启动入口:暂时写到这里,后续追加。原创 2022-04-30 18:37:44 · 905 阅读 · 0 评论 -
《k3s 源码解析3 ---- k3s集群搭建》
一、安装说明:主机名要求主机名不能一样,如果主机名一 样,可以通过参数--with-node-id添加一个随机后缀, 或者通过参数--node-name或者环境变量$K3S_NODE_NAME指定主机名操作系统基本上可以跑在所有的Linux系统上,官方支持并测试的系统包括Ubuntu 16.04 (amd64)Ubuntu 18.04 (amd64)Raspbian Buster*硬件资源CPU:1内存:512MB(建议至少1G)磁盘:K3s性能依赖数据库的性能,建议跑在S.原创 2022-04-25 01:16:21 · 1965 阅读 · 0 评论 -
《k3s 源码解析6 ---- k3s参数解析》
在使用k8s、k3s的时候没有指定参数,大家注意到除了kubeadm init/join时指定了一些必要的初始化参数(网段、ip、端口等),在运行(kubectl命令)时是不需要指定参数的,当然如果你额外指定参数也是可以的。原因如下:防止记错参数,成熟的组件会帮你把参数写到配置文件中(配置文件往往用json、yaml格式编码,k8s中是用yaml编码)简化使用难度,不可能有人能把几十个参数、参数的顺序记忆在脑海里。配置文件中的参数可以被环境变量、cli输入的参数覆盖掉,保留灵活度 1 配置.原创 2022-05-03 13:43:10 · 804 阅读 · 0 评论 -
《k3s 源码解析2 ----master逻辑源码分析》
一、k3s 源码入口: 二、k3s master入口: 三、配置文件数据结构://pkg/cli/cmds/server.go var ( ServerConfig Server // 从cli、配置文件加载配置参数)type Server struct { ClusterCIDR cli.StringSlice // (networking) IPv4/IPv6 network CIDRs to use for pod IPs (default: 10.42.原创 2022-04-20 20:05:21 · 1745 阅读 · 0 评论 -
如何从零开始搭建一个完整的K8S集群-------基于CentOS 8系统
k8s集群搭建:k8s有三个重要组件:使用kubeadm是k8s官方推荐的一个进群部署工具kubectl 是命令行客户端(相当于mysql)kubelet 是后台进程(相当于mysqld)软件环境:虚拟机: VMware® Workstation Pro 15操作系统:CentOS Linux release 8.1创建三个centos节点:10.0.0.180 k8s-master10.0.0.91 k8s-nnode110.0.0.136 k8s-nnode2查看c原创 2020-06-03 19:19:12 · 3998 阅读 · 4 评论 -
《k3s 源码解析1----源码目录结构》
k3s 是Rancher Labs (知名开源组织) 发布的k8s的一个精简发行版本,内核是k8s,外设是经过魔改的,完全兼容k8s 标准资源定义。相当于debian之与linux,ubuntu之与liinux。k3s 官网地址: 一、k3s定义:K3s - 轻量级 Kubernetes轻量级 Kubernetes。生产就绪,易于安装,内存减半,全部在小于 100 MB 的二进制文件中。非常适合:边缘计算物联网CI持续集成开发arm嵌入式 k8sk8s集群适用的情况为什.原创 2022-04-18 00:25:45 · 1146 阅读 · 0 评论 -
《k3s 源码解析4 ---- k3s重要数据结构》
k3s完全兼容k8s,我解释一下是为什么:因为k3s的底层数据结构(写入etcd/mysql/sqlite/dsqlite数据库的格式),是完全照搬k8s的数据结构。api完全兼容。 对外表现相同,底层数据相同,只是实现方式不同(举个例子: 一个爆炒大虾,一个油焖虾)。我认为 k3s/k8s数据结构的3个用途:缓存从api中解析出来的参数,为了后面的处理逻辑更方便的去引用api的参数。方便响应api时,用marshal() 去生成json/protobuf序列化的数据方便写入数据库(et原创 2022-04-25 21:53:03 · 1849 阅读 · 4 评论 -
k8s 市场现状闲聊
关于k8s 的运维方式,dashboard与kubectl cli哪个更好:2年前曾经与某做跨境电商的产品经理聊这个问题,我说linux cli是天花板。 而对方用很不屑的语气说你的命令行敲错了怎么办? 说用web界面才是王道。草……昨天,去高新园与一个做游戏的聊天,对方的观点就比较正。 我们一致认为:命令行是运维人员应当追求的,而web界面是给小白鼠用的。不同的人观点不一样,只能选择,不能说服别人去认同你的观点,因为知识体系,工作背景不同。昨天也提到阿里云提供了k8s 一键部署,用起来也很一原创 2022-04-30 11:42:04 · 2981 阅读 · 0 评论 -
k8s 部署android实例
环境:root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86# kubectl get nodes -o wideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTI原创 2022-03-13 19:34:05 · 4638 阅读 · 2 评论 -
helm部署ingress nginx controller
helm是用于ingress nginx controller部署的一个客户端工具,有专用的服务站点和资源仓库。helm官方网站链接一、仓库添加:1 )Add Repository (stable)$ helm repo add nginx-stable https://helm.nginx.com/stable$ helm repo updateAdd Repository (experimental)$ helm repo add nginx-edge https://helm.ng.原创 2022-02-08 00:17:09 · 1598 阅读 · 0 评论 -
k8s 部署ingress-nginx v1.1.1(完整版)
部署ingress nginx controller1.0 获取ingress controller部署yaml文件:[root@k8s-master test]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml[root@k8s-master ingress]# [root@k8s-master ing原创 2022-01-30 13:05:58 · 3488 阅读 · 1 评论 -
k8s deployment部署、更新
nginx.yaml:apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: selector: matchLabels: app: nginx replicas: 3 template: metadata: labels: app: nginx spec: containers: - name: nginx原创 2022-01-24 00:48:44 · 4403 阅读 · 0 评论 -
k8s yaml资源清单格式
k8s由于资源比较多,组合起来参数众多,不适合用cli传参的形式。 因此用yaml文件的形式传参给k8s。 yaml文件相当于剧本,运维人员相当于制片人,k8s相当于导演,docker相当于剧务、pod详单于演员资源清单格式:apiVersion: # 可以通过cli获取:kubectl api-resources |grep [deployments|svc|pods]kind: Deployment # 资源类型:Deployment|Pods|Ingress|Services|....原创 2022-01-18 00:09:58 · 1450 阅读 · 0 评论 -
yaml 编码格式简述
在linux服务器中,基础的组件:节点发现(etcd)、负载均衡、数据编解码、压缩、主题订阅、数据持久化。其中数据编解码常用的有xml、json、yaml、protobuf、cbor。常用的数据编解码格式:xml是以标签为中心的数据编码结构json是以弱标签为中心的数据编码结构yaml是以弱数据为中心的数据编码结构protobuf是以强数据为中心的数据编码结果cbor是超强数据为中心的数据编码结构本文讲其中的yaml结构。基本语法:缩进时不允许使用tab键,只允许使用空格缩进的.原创 2022-01-17 23:52:12 · 1142 阅读 · 0 评论 -
k8s yaml 文件中的api版本如何选择?
在创建不同的资源时,发现yaml文件用到的api版本不一样。 本文主要讲如何api版本的选择。在你的k8s集群执行命令,查看你的k8s 提供的api 和版本信息,输出列格式:NAME 资源名称SHORTNAMES 资源名称简写NAMESPACED 是否需要指定命名空间APIGROUP => apiVersionKIND 资源类型VERBS 可用的方法[root@k8s-master ~]# kubectl api-resources -o wideNAME .原创 2022-01-09 13:16:22 · 970 阅读 · 1 评论