![](https://img-blog.csdnimg.cn/20200822092642551.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
kubernetes
文章平均质量分 65
合并
wzj_110
天道酬勤
展开
-
Docker之RUN、COMMAND、ENTRYPOINT辨析
CMD、ENTRYPOINT、RUN辨析原创 2022-12-12 00:06:26 · 2905 阅读 · 0 评论 -
Kubernetes(二十五)Service(四)服务发现
说明:严格意义上并不是讲解service,讲的是coredns,只是二者的关俩深度比较广原创 2020-12-07 22:20:43 · 360 阅读 · 0 评论 -
Kubernetes(二十四)Service(三)原理分析
二 kube-proxy深入理解核心:Service规则备注:涉及Service的工作原理-->手机上的腾讯云博客-->kube-proxy做了什么?当Pod 地址发生变化时,Endpoint也会随之发生变化,Service接收前端client请求的时候,就会通过endpoint,找到转发到'那个Pod'进行访问的地址核心: 'Watch | Listen机制'就绪探针、业务探针之后 -->才会加入endpoints腾讯云大佬的博客⑤⑥⑦⑧(4)k..原创 2020-12-06 20:28:44 · 143 阅读 · 0 评论 -
Kubernetes(二十三)Service(二)会话保持和获取客户端的ip
接上一 了解基本的术语备注: 关于'各个术语',后续会'补充自己写的相关博客',构成一个'系列'二 Service的会话粘滞需求: 实现基于'客户端 IP' 的会话亲和性效果: 来自'同一客户端(Client IP)'的请求与后端'某个pod'绑定('或者说映射'),如果没有特殊的配置,是'获取不了客户端的ip',获取的是'所访问的pod所在节点的ip'更具体的效果: 如果'replicas=2'为两个副本,设置'sessionAffinity: ClientI...原创 2020-12-06 20:26:18 · 1848 阅读 · 0 评论 -
Kubernetes(二十二)Service(一)负载均衡
一 Service的引出背景二 Service为'解决这个问题' Kubernetes 就为我们提供了'这样的一个对象' - ServiceService 是Kubernetes一种'抽象的对象',它定义了'一组 Pod 的逻辑集合'和一个用于'访问它们的策略',其实这个概念和'微服务'非常类似,可以理解为'一个Service'就是一个'微服务'Service作用: 主要是提供'负载均衡'和'服务自动发现-->依赖于CoreDns'具体解释: Kubern...原创 2020-12-04 22:43:24 · 560 阅读 · 0 评论 -
Kubernetes(二十一)修改kubelet的启动参数
一 kubelet官网提供的启动参数以下摘录'几个参数'进行分析-->'集群快速迁移'(1) '并发拉取'镜像的个数 --> '--registry-burst'二 查看说明:当前集群是'1.18.4',kubeadm'安装的'说明: master和node上关于该'config.yaml'文件'大同小异'说明: 没有'这个group',也没有这个'对象'三通过配置文件设置 Kubelet 参数KubeletC...原创 2020-12-02 23:03:11 · 1730 阅读 · 0 评论 -
Kubernetes(二十)准入控制器
一 官网(1)什么是准入控制器? -->'重要'(2)为什么需要准入控制器? -->'重要'(3)如何启用一个准入控制器? -->'重要'(4)怎么关闭准入控制器?(5)哪些插件是默认启用的? -->'知道'(6)每个'准入控制器的作用'是什么? -->'了解核心'二 进入主题(1)准入控制器的概念准入控制器的种类准入控制器是'一段代码',它会在'请求'通过'认证和授权'之后、'对象被持久化之前'-->'拦截'到达 A...原创 2020-11-30 23:08:28 · 273 阅读 · 0 评论 -
Kubernetes(二十)Security Context(二)
一 官网参考文档Docker侧的文档Kubernetes侧的文档二 Seccomp对于'业务安全等级要求较高'的应用场景,我们需要限制'应用容器的内核能力',可以配合'Seccomp'/AppArmor/SELinux等'策略工具'达到限制'容器运行时刻capabilities'的目的(1)基本概念wikiseccomp 其实是 secure computing mode 的缩写,是 Linux 内核中的一个安全计算工具。seccomp 允许进程单向转换为'安全状...原创 2020-11-24 21:08:54 · 908 阅读 · 0 评论 -
Kubernetes(十九)Security Context(一)
一 官网文档参考Pod 安全性标准为 Pod 或容器配置安全性上下文二 Security Context(1)背景引入说明:'privileged'(特权模式) '不等于' root-->比如:root用户无法'关闭容器网卡'思考:哪些容器需要'修改内核参数'?(2)安全上下文的配置级别(3)安全上下文的设置方式三 实战(1)Pod 设置 Security Context用法: 在 Pod 定义的'资源清单文件中'添加's...原创 2020-11-24 23:05:07 · 1205 阅读 · 0 评论 -
Kubernetes(十八)RBAC一sa
一 ServiceAccount使用RBAC鉴权官网文档sa也是'ns级别'的顺序(1)创建一个ServiceAccount对象'命令行的方式'kubectl create sa wzj-sa -n kube-systemapiVersion: v1kind: ServiceAccountmetadata: name: wzj-sa namespace: kube-system思考:自己创建的sa有啥特性 kubectl...原创 2020-11-18 23:48:30 · 132 阅读 · 0 评论 -
Kubernetes(十七)RBAC一user
一 RBAC的概念RBAC是基于角色的访问控制(Role-Based Access Control)通俗的讲:1)先定义某个'角色-->role'能做的事情-->'actions'-->'verbs'2)再将这个角色'授予'某个人-->'授权'-->'授权的动作如何表现'3)当'人-->user'做这些事情的时候,'校验'他的凭证'token'里面是否'携带了'对应的'角色',如果有对应的角色,则'鉴权成功',允许它做备注: 更常用的方法是..原创 2020-11-18 21:15:43 · 180 阅读 · 0 评论 -
Kubernetes(十六)API对象
一 声明式API在k8s中,'所有的配置'都是 json格式的,但为了'读写方便',通常将这些'配置写成yaml 格式',其运行的时候,还是会'靠yaml引擎'将其转化为json,apiserver '也仅接受json'的数据'GVR' -->相对于'开发'来说;表现形式 -->'GVK'查看集群中API的组织形式 kubectl get --raw /从上图中我们也可以看出 'Kubernetes 的 API 对象'的'组织方式'在'顶层'..原创 2020-11-18 21:10:28 · 220 阅读 · 0 评论 -
Kubernetes(十五)Configmap和Secret
一 背景引出前面我们学习了一些'常用的资源对象'的使用,但是'单纯依靠'这些资源对象,还'不足以'满足我们的日常需求一个'重要的需求'就是'应用的配置管理'、'敏感信息的存储和使用(passwd、token)'、'容器运行资源的配置'、'安全管控'、'身份认证'等等二 ConfigMap对于'应用的可变配置'在 Kubernetes 中是通过一个'ConfigMap资源对象'来实现的我们知道'许多应用'经常会有从'配置文件'、'命令行参数'或者'环境变量中'读取一...原创 2020-11-15 13:13:38 · 560 阅读 · 0 评论 -
Kubernetes(十四)HPA
(1)HPA基本概念kubectl autoscale 命令 --> 需要'自己注册'到api-server'才有'这个命令,才能'调用对应的api接口'(2)如何做到自动弹性伸缩要收集'自定义监控指标'必须要部署一个'custom-metrics-apiserver'的pod -->'promethus就是'(3)Metric ServiceKubernetes从'1.8版本开始',CPU、内存等资源的metrics信息可以通过 Metrics .原创 2020-11-11 23:38:05 · 341 阅读 · 0 评论 -
Kubernetes(七)Pod进阶之Downward API和PodPreset
关于静态pod可以参考我这篇博客一 Downward API(1)基本概念和用途目的: '不是'为了存放容器的数据'也不是'用来进行'容器和宿主机的数据交换的',而是让 'Pod 里的容器'能够'直接获取到'这个 Pod 对象本身的一些信息(2)环境变量1)静态数据'pod创建之前已经确定的' --> metadat.*2)状态数据'pod创建之后才知道' -->status.podIP、spec.*3)容器的资源数据'cpu、memory' ...原创 2020-11-10 00:49:02 · 302 阅读 · 0 评论 -
Kubernetes(十三)Job 与 CronJob
一 基本概念相关参考类似'linux中'-->'at任务'和'rond定时任务'用法二 Job典型的应用场景: jenkins '起一个任务'yaml高级用法(1)案例用 Job 这个'资源对象'来创建一个任务,我们定义一个 Job 来执行一个'倒计时'的任务apiVersion: batch/v1kind: Jobmetadata: name: job-demospec: template: spec: r...原创 2020-11-09 22:17:09 · 153 阅读 · 0 评论 -
Kubernetes(十二)kubectl配置文件的读取顺序
一 kubectl对应配置文件备注: kubectl --kubecofig=/path -->设置'alias'也可以满足'永久生效'注意: 默认值,一定是在'找不到合适条件'的时候,才'最后采用'的,相当于'备胎'二 config修改export KUBE_APISERVER="https://172.25.2.200:6443"# 设置集群参数kubectl config set-cluster kubernetes \ --certificate-...原创 2020-11-08 23:42:54 · 878 阅读 · 0 评论 -
Kubernetes(十一)DaemonSet
一DaemonSet(1)基本概念和应用场景典型:1) 'flannel,calico'网络插件-->'实现CNI接口'2) 'ceph'存储插件 -->'实现CSI接口'3) 'prometheus'监控收集 -->'各种监控指标信息收集'4) 'logstash'日志收集 -->'各种应用日志收集'5) 'npd'节点健康检查 -->在每个Node运行一个'健康程序',采集NODE的'运...原创 2020-11-08 23:00:33 · 91 阅读 · 0 评论 -
Kubernetes(十)StatefulSet
一 有状态和无状态理解之前的博客我们学习了 'Deployment 和 ReplicaSet' 两种'资源对象'的使用在实际使用的过程中,'Deployment 并不能编排'所有类型的应用,对'无状态服务编排'是非常容易的,但是对于'有状态服务'就无能为力了那么问题来了:什么是'有状态'服务?什么是'无状态'服务有状态我们常见的 'WEB 应用',是通过 'Session' 来保持用户的'登录状态'的1)如果我们将 Session '持久化到节点上',那么该应用就是一个..原创 2020-11-08 23:00:07 · 278 阅读 · 0 评论 -
kubernetes(八)ReplicaSet和Deployment
强调下:1)k8s的yaml文件中'kind'对应的字段值是'大驼峰' --> 也即都是'首字母大写'2)其它字段是'小驼峰'一 补充知识请求资源的'url路径'是'如何堆叠的'具体解释name是 kubectl 去'查询资源'名字的'全称'二 控制器(1)控制器的工作原理(2)ReplicaSet1)rs的引出2)案例讲解目的: '观察实验现象,了解原理'apiVersion: apps/v1...原创 2020-11-05 22:24:26 · 370 阅读 · 0 评论 -
Kubernetes(九)Deployment滚动更新
一 Deployment理解滚动更新 --> 理解为'灰度发布一种',只是'粒度'不一样+++++++++++++++滚动更新: 比如我们应用更新了,我们只需要'更新我们的容器镜像',然后修改 Deployment 里面的 'Pod 模板镜像',那么 Deployment 就会用'滚动更新(Rolling Update)'的方式来升级现在的 Pod明确滚动更新'触发的表现形式' --> 'set image'、'path字段'、'修改后直接apply'而 Deploy..原创 2020-11-08 22:22:49 · 1527 阅读 · 0 评论 -
Kubernetes(五)Pod设计原理和生命周期
一 为什么KUbernetes调度的最小单位是Pod为什么'需要' Pod问题引入:假设 Kubernetes 中调度的基本单元就是容器,对于一个非常简单的应用可以直接被调度直接使用,没有什么问题,但是往往还有很多应用程序是由多个进程组成的,尝试1:我们可以把这些进程都打包到一个容器中去不就可以了吗?理论上是可以实现的,但是不要忘记了 Docker 管理的进程是 pid=1 的主进程,其他进程死掉了就会成为僵尸进程,没办法进行管理了,这种方式本身也不是容器推荐的运行方式,一个容器最..原创 2020-10-25 17:03:55 · 529 阅读 · 0 评论 -
Kubernetes(四)应用容器化与 YAML 文件
作为'云原声'重要的'配置文件',有必要'了解'其特性后续:'对比'xml、json、yaml目标:json和yaml之间会'手动转换'一 yaml(1)什么是yamlYAML 是'云原声时代'专门用来'写配置文件'的语言,非常简洁和强大,'远比JSON格式方便'YAML语言的'设计目标':就是方便人类读写,它实质上是一种'通用'的'数据串行化格式',用来'表达数据序列的格式'YAML 的意思其实是:仍是一种'标记语言',但为了'强调'这种语言以'数据做为中心',而不是...原创 2020-10-11 18:46:05 · 406 阅读 · 0 评论 -
Kubernetes(二)集群安装
flannel网络原创 2020-10-19 23:38:04 · 168 阅读 · 0 评论 -
Kubernetes(三)解决谷歌浏览器无法访问UI界面的问题
一 Chrome访问的现象'访问': https://172.25.2.200:32044二 解决参考博客(1)安装cfssl工具和cfssljson工具wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64mv cfssl_linux-amd64 /usr/local/bin/cfsslmv cfssljson...原创 2020-10-20 23:02:48 · 914 阅读 · 0 评论 -
kubernetes(六)Pod健康检查和资源配置
一 生命周期(1)Docker容器中应用的运行要求Kubernetes对'长时间运行'容器的要求: 主程序需要在'前台'一直执行 -->'pid=1的前台常驻进程'前台是方便docker'进行管理'*************** '错误的方式' ***************nohup start.sh &原因: kubelet在创建'包含这个容器的Pod之后'运行完'该命令',即认为'Pod执行结束',将立即'销毁'该Pod场景: Pod是以'Depl..原创 2020-11-03 23:38:05 · 434 阅读 · 0 评论 -
kubernetes杂谈之(二)静态Pod
一 静态Pod --- '静体现在哪?' ---之前:前面Pod的'生命周期管理'都是通过像DaemonSet、StatefulSet、Deployment'上层'这种方式创建管理的静态Pod是由kubelet进行管理'仅存在于特定Node上'的Pod -->'可以理解为定向调度' -->'如何定向调度涉及到创建方式'它们'不能通过API Server'进行管理,无法与'ReplicationController..原创 2020-10-12 22:37:06 · 1293 阅读 · 0 评论 -
Docker(十四)Docker开启远程安全访问
前言:之前配置了任何人都可以连接,被黑了,下决心要研究下docker客户端远程安全连接一 证书的一些故事(0)证书介绍开发'https功能'的web server必须用到签名证书,证书都是由'证书签发机构签发',当然也可以'自己给自己签发'即自签名证书。要签发证书,首先要'有一个根证书',然后用'根证书来签发'用户证书(1)用户进行证书申请一般先生成一个'私钥文件(Key)',然后用私钥生成'证书签名请求'(csr:certificate signing request),再..原创 2020-08-09 22:53:50 · 596 阅读 · 0 评论 -
kubernetes杂谈(一)清除状态为Evicted的pod
一 现象引入使用'kubectl get pods --all-namespaces', 发现很多'pod的状态为evicted'原因eviction,即'驱赶的意思',意思是当节点出现异常时,kubernetes将有'相应的机制驱赶'该节点上的Pod,多见于资源不足时导致的驱赶。注意: 即使集群'状态恢复',eviction状态的pod会'在系统中存在',需要'手动删除' --> 只是影响美观解决方案排查'资源和异常原因',防止新的驱赶产生 --&g..原创 2020-08-09 22:08:27 · 5015 阅读 · 0 评论 -
webhook(一)
一 目标:针对一些软件中webhook使用备注:下一步就是自己写代码来体会webhook的交互过程1)harbor应用场景:2)gitlab应用场景:git push之后,Git/Gitlab如何通知Jenkins对应Job的工作区实时构建?答案就是:Git/Github webhook机制发出POST请求,告知Jenkins服务器你要自动构建了。思考:什么...原创 2019-12-07 21:26:20 · 1273 阅读 · 0 评论 -
k8s(二)可视化Dashboard的安装
接上 前面博客Kubernetes 所有的操作我们都是通过命令行工具 kubectl 完成的。为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web 的 Dashboard,用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。 在 Kub...原创 2019-08-18 22:22:23 · 356 阅读 · 0 评论 -
k8s(一)环境的的搭建
一 关于镜像的下载可以参考这利用阿里云海外主机进行构建# 这里基于 kubernetes-version 1.15.0二 环境的搭建中文文档说明:k8s底层的运行环境不一定必须是Docker,Docker只是其中一种,这里以此来进行说明各部分的概况 主机功能 server1(172.25.2.1) k8s集群的master节点 se...原创 2019-08-18 21:38:32 · 251 阅读 · 0 评论