zl程序教程

k8s

  • K8S学习笔记之将Google的gcr.io、k8s.gcr.io 换为国内镜像

    K8S学习笔记之将Google的gcr.io、k8s.gcr.io 换为国内镜像

      0x00 添加docker官方的国内镜像 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://registry.docker-cn.co"] } EOF   0x01 gcr.io镜像转换为国内镜像 根据开源项目: https://git

    日期 2023-10-26 10:14:08     
  • K8S volume

    K8S volume

    容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将去失--容器以干净的状态(镜像最初的状态)重新启动。其次,在 Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes中的 volume 抽象就很好的解决了这些问题。 背景 Kubernetes 中的卷有明确的寿命 -- 与封装

    日期 2023-10-26 10:14:08     
  • 【k8s】deploy-conditions

    【k8s】deploy-conditions

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 deploy 的 conditions 条件默认只有两个。 示例 Deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: spring-k8s spec: selector: matchLabels:

    日期 2023-10-26 10:14:08     
  • 【k8s】Namespace

    【k8s】Namespace

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 k8s 使用 namespace 将工作负载进行隔离,可以实现不同用户使用不同的空间,或者不同组使用不同的空间。 在不指定命名空间的情况下,默认指的是 default 命名空间下的工作负载。namespace 可以简写为 ns。 示例 查看已有命名空间 [root@master ~]# kubectl

    日期 2023-10-26 10:14:08     
  • 使用kubeadm 离线安装 单master k8s 1.13

    使用kubeadm 离线安装 单master k8s 1.13

    Study From :https://www.kubernetes.org.cn/4948.html https://www.kubernetes.org.cn/4948.html 感谢原作者提供的资源 1. 安装centos7_1811_7.6 2. 升级kernel 到 4.19 3. 关闭防火墙,关闭selinux 4. 修改sysctl 内容 # 设置网桥包经IPTables,c

    日期 2023-10-26 10:14:08     
  • k8s源码Client-go中Reflector解析

    k8s源码Client-go中Reflector解析

    摘要:通过本文,可以了解Reflector通过ListWatcher从Kubernetes API中获取对象的流程,以及存储到store中,后续会对DeltaFIFO进行源码研读,通过结合informer,来加深对整个informer的理解。 本文分享自华为云社区《Client-go源码分析之Reflector》,作者: kaliarch 。 一 背景 Reflector 是保证 Informe

    日期 2023-10-26 10:14:08     
  • [K8S] 05 - Service

    [K8S] 05 - Service

    Ref: 37 kubernetes极速入门 k8s集群核心概念 Service Service介绍 [是什么,以及作用] 在这里,Service是一个规则。 不是实体服务。 只是一条 iptables 或 ipvs 的转发规则。 ---- 要通过 Service 访问 Pod,通过pod标签与pod关联。       基本概念 Service 类型

    日期 2023-10-26 10:14:08     
  • k8s官方案例练习-使用 ConfigMap 来配置 Redis

    k8s官方案例练习-使用 ConfigMap 来配置 Redis

    使用 ConfigMap 来配置 Redis   [root@master01 ~]# mkdir kustomization [root@master01 ~]# cd kustomization/ [root@master01 kustomization]# vi kustomization.yaml [root@master01 kustomization]# kubectl

    日期 2023-10-26 10:14:08     
  • 【云计算】jenkins,docker,mesos,marathon,k8s相关资料

    【云计算】jenkins,docker,mesos,marathon,k8s相关资料

    参考资料: 基于Apache Mesos 构建高可靠,高可用的Jenkins CI:http://blog.csdn.net/ebay/article/details/43529401 Docker Plugin:https://wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin%20?cm_mc_uid=941356053745144660312

    日期 2023-10-26 10:14:08     
  • 【k8s】deploy-paused

    【k8s】deploy-paused

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 paused 表示暂停,在 deploy 升级的过程中,可以暂停升级。 示例 Deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: busybox spec: paused: true selector:

    日期 2023-10-26 10:14:08     
  • 数K8S无服务器风流人物,还得看Kubeless

    数K8S无服务器风流人物,还得看Kubeless

    Kubernetes在希腊语中的意思为“舵手”,用此命名是用来突出其为用户带来的控制力。如今,程序员对于Kubeless新框架以及Kubernetes-native无服务器框架拥有更强的控制力。 利用Kubernetes资源,Kubeless可以提供自动扩展,API路由,监控,故障排除等功能,且Kubeless是完全开源的,不隶属于任何公司或组织。 为什么要切换到Kubeless? Ku

    日期 2023-10-26 10:14:08     
  • [k8s]容器化node-expolore(9100)+cadvisor(8080)+prometheus(9090) metric搜集,grafana展示

    [k8s]容器化node-expolore(9100)+cadvisor(8080)+prometheus(9090) metric搜集,grafana展示

    Prometheus 的核心,多维数据模型 传统监控工具统计数据方式 指标多 - 需求1,统计app1-3,的(总)内存,则定义3个指标 container.memory_usage_bytes.webapp* - 获取值 container.memory_usage_bytes.webapp1 - 定义指标,搜集app1 container.memory_usage_

    日期 2023-10-26 10:14:08     
  • 【k8s】IngressController

    【k8s】IngressController

    环境 kubernetes 1.20.6 Spring Boot 2.5.0-M3 目标 在使用 Ingress 之前,需要存在一个 IngressController,下面将建立一个 Nginx IngressController。 示例 以下的内容参考:https://github.com/kubernetes/ingress-nginx 资源 yaml apiVersion: v1 k

    日期 2023-10-26 10:14:08     
  • 【k8s】deploy-metadata

    【k8s】deploy-metadata

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 查看 Deployment 中的一些字段。 示例 Deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: busybox spec: selector: matchLabels: app: bu

    日期 2023-10-26 10:14:08     
  • k8s -DevOps 使用流水线 pod(maven +openjdk11)执行sonar扫描

    k8s -DevOps 使用流水线 pod(maven +openjdk11)执行sonar扫描

    选择 Jenkins Agent agent 部分指定整个流水线或特定阶段 (Stage) 将在 Jenkins 环境中执行的位置,具体取决于该 agent 部分的放置位置。该部分必须在 pipeline 块

    日期 2023-10-26 10:14:08     
  • k8s的namespace、pod、label、deployment、service

    k8s的namespace、pod、label、deployment、service

    1 前言 ● 介绍如何在kubernetes集群中部署一个Nginx服务,并且能够对其访问。 2 Namespace 2.1 概述 ● Namespace是kubernetes系统中一种非常重要的资源,它的主要作用是用来实现多套系统的资源隔离或者多租户的资源隔离。● 默认情况下,kubernetes集群中的所有Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互相的访问,那

    日期 2023-10-26 10:14:08     
  • 【k8s】Volume-pvc

    【k8s】Volume-pvc

    环境 kubernetes 1.20.6 Spring Boot 2.5.0-RC1 目标 在建立好 pv 之后,如果要使用存储,则需要建立对应的 pvc 去和 pv 进行绑定。 pvc 全称是 PersistentVolumeClaim,表示使用 pv 的声明。 示例 建立 pv [root@master ~]# kubectl get pv NAME CAPACITY ACCES

    日期 2023-10-26 10:14:08     
  • 一文读懂 K8s 持久化存储流程 (转)

    一文读懂 K8s 持久化存储流程 (转)

    导读:众所周知,K8s 的持久化存储(Persistent Storage)保证了应用数据独立于应用生命周期而存在,但其内部实现却少有人提及。K8s 内部的存储流程到底是怎样的?PV、PVC、StorageClass、Kubelet、CSI 插件等之间的调用关系又如何,这些谜底将在本文中一一揭晓。 K8s 持久化存储基础 在进行 K8s 存储流程讲解之前,先回顾一下 K8s 中

    日期 2023-10-26 10:14:08     
  • 041.Kubernetes集群网络-K8S网络策略

    041.Kubernetes集群网络-K8S网络策略

    一 Kubernetes网络策略 1.1 策略说明 为实现细粒度的容器间网络访问隔离策略,Kubernetes发布Network Policy,目前已升级为networking.k8s.io/v1稳定版本。 Network Policy的主要功能是对Pod间的网络通信进行限制和准入控制,设置方式为将Pod的Label作为查询条件,设置允许访问或禁止访问的客户端Pod列表。目前查询条件可以作用于P

    日期 2023-10-26 10:14:08     
  • k8s之scheduler

    k8s之scheduler

    一、概述   调度器是kubernetes中独特而又重要的一个模块,独特是因为scheduler是唯一一个以plugin形式存在的组件,重要是因为kubernetes中最重要的基础单元pod的部署是通过scheduler完成的。  正常情况下,scheduler为pod通过算法筛选合适的node,然后绑定pod与node关系,而相应的node上的kubelet在完成绑定之后才会启动pod,此过程

    日期 2023-10-26 10:14:08     
  • 【k8s】Pod-Guaranteed

    【k8s】Pod-Guaranteed

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 对于 QoS 类为 Guaranteed 的 Pod: Pod 中的每个容器,包含初始化容器,必须指定内存请求和内存限制,并且两者要相等。 Pod 中的每个容器,包含初始化容器,必须指定 CPU 请求和 CPU 限制,并且两者要相等。 示例 Pod.yaml apiVersion: v1 kind:

    日期 2023-10-26 10:14:08     
  • k8s集群调度方案

    k8s集群调度方案

      Scheduler是k8s集群的调度器,主要的任务是把定义好的pod分配到集群节点上 有以下特征: 1  公平   保证每一个节点都能被合理分配资源或者能被分配资源 2  资源高效利用   集群所有资源最大化被利用 3  效率  调度的性能好,能够对大批量pod进行调度 4  灵活 

    日期 2023-10-26 10:14:08     
  • k8s弹性伸缩概念以及测试用例

    k8s弹性伸缩概念以及测试用例

    k8s弹性伸缩概念以及测试用例 本文原文出处:https://juejin.im/post/5c82367ff265da2d85330d4f 弹性伸缩式k8s中的一大亮点功能,当负载大的时候,你可以对应用进行扩容,提升pod的副本数来应对大量的流量,当负载小的时候可以对应用进行缩容,以避免资源浪费。也可以让应用自动的进行扩容和缩容,这一功能有用。例如当微博出现了一个话题时,这个时候人们都去访问,

    日期 2023-10-26 10:14:08     
  • 【k8s】Volume-ConfigMap

    【k8s】Volume-ConfigMap

    环境 kubernetes 1.20.6 Spring Boot 2.5.0-RC1 目标 前面学习了将 ConfigMap 当作环境变量写入到 Pod 中,其实 ConfigMap 可以当作数据卷使用。 示例 创建简单键值对 cm apiVersion: v1 kind: ConfigMap metadata: name: cm-simple data: name: jiangbo

    日期 2023-10-26 10:14:08     
  • k8s的容器监测探针

    k8s的容器监测探针

    大部分的应用程序我们在部署的时候都会适当的添加监控,对于运行载体容器则更应该如此。kubernetes提供了 liveness probes来检查我们的应用程序。它是由节点上的kubelet定期执行的。 首先说一下Pod的整个生命阶段: Pending:表示集群系统正在创建Pod,但是Pod中的container还没有全部被创建,这其中也包含集群为container创建网络,或者下载镜像的时间

    日期 2023-10-26 10:14:08     
  • 【k8s】Pod-qosClass

    【k8s】Pod-qosClass

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 qosClass 表示服务质量类型(Quality of Service),这个字段是根据请求的内存和 CPU 来进行确定的。 其中包含三种类型:Guaranteed,Burstable 和 BestEffort。 其中这三种策略在由于资源不足而驱逐 Pod 时,有不同的优先级。 可以简单理解先驱逐 B

    日期 2023-10-26 10:14:08     
  • 如何从k8s集群外的机器上调用k8s的API(可调用多个k8s的apiserver)

    如何从k8s集群外的机器上调用k8s的API(可调用多个k8s的apiserver)

    因为公司项目需要,k8s的集群管理由其它人负责,而我们的自动化部署平台需要从k8s集群外的机器上调用k8s主节点的apiserver提供的API。 由于集群是用kubeadm安装的,证书验证齐全,那么,调用API时,只能通过kubectl proxy的方式进行调用管理。 操作步骤如下:   一,在集群外的机器上安装好kubectl的rpm包。 rpm -ivh kubectl-1.7.0

    日期 2023-10-26 10:14:08     
  • K8S学习笔记

    K8S学习笔记

    [root@k8s-master ~]# systemctl start etcd [root@k8s-master ~]# systemctl start docker [root@k8s-master ~]# systemctl start kube-apiserver.service [root@k8s-master ~]# systemctl start kube-apiserve

    日期 2023-10-26 10:14:08     
  • 【k8s】terminationMessagePolicy

    【k8s】terminationMessagePolicy

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 默认情况容器退出时,退出信息会从文件中读取。可以通过 terminationMessagePolicy 来修改。 将 terminationMessagePolicy 修改为:FallbackToLogsOnError,从日志中来读取。 示例 Pod.yaml apiVersion: v1 kind:

    日期 2023-10-26 10:14:08     
  • 【k8s】svc-selector

    【k8s】svc-selector

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 selector 可以定义选择器,如果这个选择器选中了 Pod,那么会自动将 Pod 的地址关联到服务上。 Pod 的 IP 地址变化了也会自动更新。如果没有定义选择器,那么就需要自己维护 ep 端点。 示例 Deploy.yaml apiVersion: apps/v1 kind: Deploymen

    日期 2023-10-26 10:14:08     
  • K8S 搭建 Prometheus (一) 部署 node-exporter, prometheus-server

    K8S 搭建 Prometheus (一) 部署 node-exporter, prometheus-server

    版本信息: 软件 版本 K8S 1.20.5 containerd 1.4.4 部署 node-exporter node-exporter 组件用来采集机器(物理机、虚拟机、云主机等)的监控指标数据,能够采集到的指标包括CPU, 内存,磁盘,网络,文件数等信息 # 在 master 上操作 kubectl create ns monitor-sa mkdir /da

    日期 2023-10-26 10:14:08     
  • K8S学习笔记之K8S日志搜集实战

    K8S学习笔记之K8S日志搜集实战

      详细参考这篇文章,几乎覆盖了了K8S的各种日志搜集方案 https://juejin.im/post/5b6eaef96fb9a04fa25a0d37#heading-8

    日期 2023-10-26 10:14:08     
  • 038.Kubernetes集群网络-K8S网络实现

    038.Kubernetes集群网络-K8S网络实现

    一 Kubernetes网络实现 1.1 Kubernetes网络优势 在实际的业务场景中,业务组件之间的关系十分复杂,微服务的理念更是让应用部署的粒度更加细小和灵活。为了支持业务应用组件的通信,Kubernetes网络的设计主要致力于解决以下问题。 容器到容器之间的直接通信。 抽象的Pod到Pod之间的通信。 Pod到Service之间的通信。 集群外部与内部组件之间的通信。 二 Kube

    日期 2023-10-26 10:14:08     
  • 【k8s】terminationMessagePath

    【k8s】terminationMessagePath

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 terminationMessagePath 表示容器的异常终止消息的路径,默认在 /dev/termination-log 下。 当容器退出时,可以通过容器的状态看到退出信息。 示例 Pod.yaml apiVersion: v1 kind: Pod metadata: name: busybox

    日期 2023-10-26 10:14:08     
  • 【k8s】deploy-Recreate

    【k8s】deploy-Recreate

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 deploy 可以自定义升级策略,其中升级的策略可以是 Recreate 和 RollingUpdate。 其中 RollingUpdate 是默认值,下面演示 Recreate 升级策略。 示例 Deployment.yaml apiVersion: apps/v1 kind: Deployment

    日期 2023-10-26 10:14:08     
  • k8s调度器kube-scheduler

    k8s调度器kube-scheduler

    kube-scheduler简介 调度是容器编排的重要环节,需要经过严格的监控和控制,现实生产通常对调度有各类限制,譬如某些服务必须在业务独享的机器上运行,或者从灾备的角度考虑尽量把服务调度到不同机器,这些需求在Kubernetes集群依靠调度组件kube-scheduler满足。 kube-scheduler是Kubernetes中的关键模块,扮演管家的角色遵从一套机制为Pod提供调度服务,例

    日期 2023-10-26 10:14:08     
  • Kubernetes(K8s) label(标签)和selector(选择器)

    Kubernetes(K8s) label(标签)和selector(选择器)

    Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。本文主要介绍Kubernetes(K8s) Label(标签)和selector(选择器)。 原文地址:Kubernetes(K8s)

    日期 2023-10-26 10:14:08     
  • 云原生(十九) | Kubernetes篇之Kubernetes(k8s)网络

    云原生(十九) | Kubernetes篇之Kubernetes(k8s)网络

    大数据联盟地址: https://bbs.csdn.net/forums/lanson?spm=1001.2014.3001.6682https://bbs.csdn.net/forums/lanson?spm=1001.2014.3001.6682 文章目录 Kubernetes(k8s)网络

    日期 2023-10-26 10:14:08     
  • K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群

    K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群

      0x00 概述 本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansible和之前的步骤差不多都是和kubeadm步骤一样,不过这次所有kubelet全部走bootstrap不会像之前master上的kubelet生成证书,另外证书换成open

    日期 2023-10-26 10:14:08     
  • [k8s]k8s-web-terminal配置使用 & etcdui etcd browser配置 & etcdkeeper3配置

    [k8s]k8s-web-terminal配置使用 & etcdui etcd browser配置 & etcdkeeper3配置

    安装kube-dns后,我想看看他是怎么个配置,于是我就找到了这个 参考: https://github.com/beyondblog/k8s-web-terminal cat >> /etc/docker/daemon.json <<EOF { "registry-mirrors": ["https://registry.docker-cn.com"],

    日期 2023-10-26 10:14:08     
  • 【转贴】龙芯内核发展策略 已经支持k8s

    【转贴】龙芯内核发展策略 已经支持k8s

    龙芯内核发展策略 时间:2019-06-27 15:48  来源:未知   作者:龙芯中科   点击:1002次 http://www.loongson.cn/m/view.php?aid=1118 Docker 1709 k8s1.9 龙芯已经支持了 不过选择的 2.6.32 、 3.10 还有 4.18 明显是跟着redh

    日期 2023-10-26 10:14:08     
  • 【K8S】Kubernetes: --image-pull-policy always does not work

    【K8S】Kubernetes: --image-pull-policy always does not work

    https://stackoverflow.com/questions/45905999/kubernetes-image-pull-policy-always-does-not-work

    日期 2023-10-26 10:14:08     
  • Docker不香吗?为什么还需要K8s?

    Docker不香吗?为什么还需要K8s?

    🌟 前言 大家好,我是Edison😎 今天是我们「云原生」系列的第二篇:「走进 k8s 的世界」; Let’s get it!

    日期 2023-10-26 10:14:08     
  • 【Network】Neutron-Docker-K8S

    【Network】Neutron-Docker-K8S

    Neutron-Docker-K8S  openstack/neutron: Neutron is a virtual network service for Openstack.Neutron和SDN集成现状分析 - 网络协议TCP - 红黑联盟OpenStack 网络:Neutron 初探Neutron - OpenStackOpenStack 网络:Neutron 初探Neutr

    日期 2023-10-26 10:14:08     
  • [k8s]k8s-ceph-statefulsets-storageclass-nfs 有状态应用布署实践

    [k8s]k8s-ceph-statefulsets-storageclass-nfs 有状态应用布署实践

    k8s stateful sets storageclass 有状态应用布署实践v2 Copyright 2017-05-22 xiaogang(172826370@qq.com) 参考 由于网上的文章全部是抄袭官网等,烂文章一堆,误导一堆人,完美没有实用性,特写此文章,nfs相对来说比较简单,一般都会安装 先送上nfs的相关文档,稍后将为大家献上ceph rbd动态卷文档,同时还有几个redi

    日期 2023-10-26 10:14:08     
  • K8S argocd 安装配置

    K8S argocd 安装配置

    版本:K8S v1.16.9 K8S 如何安装可以看 https://www.cnblogs.com/klvchen/p/12373232.html argocd 源码仓库:https://github.com/argoproj/argo-cd mkdir /data/argocd -p && cd /data/argocd wget https://raw.githubuse

    日期 2023-10-26 10:14:08     
  • K8S Pod 生命周期 (二)

    K8S Pod 生命周期 (二)

    Init 容器 mkdir ~/initC/ && cd ~/initC/ cat init-pod.yaml apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: myapp-container imag

    日期 2023-10-26 10:14:08     
  • 【k8s】Pod-tolerations

    【k8s】Pod-tolerations

    环境 kubernetes 1.20.4 Spring Boot 2.5.0-M3 目标 前面发现将 Pod 调度到 master 节点的时候,有个污点,不能被调度上去。 tolerations 即容忍度,可以容忍污点,直接调度上去。 示例 Pod.yaml apiVersion: v1 kind: Pod metadata: name: spring-k8s spec: conta

    日期 2023-10-26 10:14:08     
  • 基于K8s的DevOps平台实践(二)

    基于K8s的DevOps平台实践(二)

    文章目录 1. 流水线入门🍑 流水线基础语法🍑 脚本示例🍑 脚本解释🍑 Blue Ocean 2. Jenkinsfile实践ἵ

    日期 2023-10-26 10:14:08     
  • K8S flannel

    K8S flannel

    kubernetes网络通信方式有: 容器间的通信 : pod内的容器通信 通过(lo)设备 Pod之间的通信 :pod IP <-----> pod IP ,K8S 要求所有的 pod 都必须直接通信 Pod与Service之间的通信 :podIP <-----> ClusterIP Service与集群外部的通信 ClusterIP <-----> 集群

    日期 2023-10-26 10:14:08