01 2021 档案
摘要:在springcloud生态中,服务治理与注册中心等都有相应的组件。如eureka、hystrix,ribbon等。但是kubernetes组件也有服务发现、负载均衡的组件,我们可以借助于sping-cloud-kubernetes组件为我们提供的服务发现、负载均衡等来摈弃像eureka这样的注册中
阅读全文
摘要:1、 准备镜像包 在有网络机器下载镜像: docker pull grafana/grafana:5.3.4 docker save -o grafana.tar grafana/grafana:5.3.4 docker pull busybox docker save -o busybox.tar
阅读全文
摘要:1、监控apiserver apiserver 作为 Kubernetes 最核心的组件,当然他的监控也是非常有必要的,对于apiserver 的监控我们可以直接通过 kubernetes 的 Service 来获取: [root@master prometheus]# kubectl get se
阅读全文
摘要:rometheus 是 Google 内部监控报警系统的开源版本,是 Google SRE 思想在其内部不断完善的产物,它的存在是为了更快和高效的发现问题,快速的接入速度,简单灵活的配置都很好的解决了这一切,而且是已经毕业的 CNCF 项目。 1、下载https://prometheus.io/do
阅读全文
摘要:PVC 的全称是:PersistentVolumeClaim(持久化卷声明),PVC 是用户存储的一种声明,PVC 和 Pod 比较类似, Pod 消耗的是节点,PVC 消耗的是 PV 资源,Pod 可以请求 CPU 和内存,而 PVC 可以请求特定的存储空间和访问模式。对于真正使用存储的用户不需要
阅读全文
摘要:Kubernetes 引入了 PV 和 PVC 两个重要的资源对象来实现对存储管理。 PV 的全称是:PersistentVolume(持久化卷),是对底层的共享存储的一种抽象,PV 由管理员进行创建和配置,它和具体的底层的共享存储技术的实现方式有关,比如 Ceph、GlusterFS、NFS 等,
阅读全文
摘要:1、DaemonSet Daemon,就是用来部署守护进程的, DaemonSet 用于在每个 Kubernetes 节点中将守护进程的副本作为后台进程运行,说白了就是在每个节点部署一个 Pod 副本,当节点加入到 Kubernetes 集群中, Pod 会被调度到该节点上运行,当节点从集群只能够被
阅读全文
摘要:部署一个helloworld应用,引用mysql,使用健康检测、动态扩容、容器初始化等功能 1、helloworld-all.yaml文件: apiVersion: extensions/v1beta1 kind: Deployment metadata: name: mysql-deploy na
阅读全文
摘要:ConfigMap是用来存储一些非安全的配置信息,如果涉及到一些安全相关的数据的话用ConfigMap就非常不妥了, 因为ConfigMap明文存储的,这个时候使用Secret,Secret用来保存敏感信息,例如密码、OAuth 令牌和 ssh key等等, 将这些信息放在Secret中比放在Pod
阅读全文
摘要:ConfigMap 资源对象使用key-value形式的键值对来配置数据,这些数据可以在Pod里面使用 1、定义configmap的yaml kind: ConfigMap apiVersion: v1 metadata: name: config-demo namespace: default d
阅读全文
摘要:Job负责处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束。而CronJob则就是在Job上加上了时间调度。 1、job apiVersion: batch/v1 kind: Job metadata: name: job-demo spec: template: metad
阅读全文
摘要:Horizontal Pod Autoscaling(Pod水平自动伸缩),简称HPA。HAP通过监控分析RC或者Deployment控制的所有Pod的负载变化情况来确定是否需要调整Pod的副本数量,这是HPA最基本的原理。 当你创建了HPA后,HPA会从metrics-server或者用户自定义的
阅读全文
摘要:Init Container就是用来做初始化工作的容器,可以是一个或者多个,如果有多个的话,这些容器会按定义的顺序依次执行,只有所有的Init Container执行完后,主容器才会被启动。我们知道一个Pod里面的所有容器是共享数据卷和网络命名空间的,所以Init Container里面产生的数据可
阅读全文
摘要:在Kubernetes集群当中,我们可以通过配置liveness probe(存活探针)和readiness probe(可读性探针)来影响容器的生存周期。 1 kubelet 通过使用 liveness probe 来确定你的应用程序是否正在运行,通俗点将就是是否还活着。 一般来说,如果你的程序一
阅读全文
摘要:Pod Hook 是由 kubelet 发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中。我们可以同时为 Pod 中的所有容器都配置 hook。 Kubernetes 为我们提供了两种钩子函数: PostStart:这个钩子在容器创建后立即执行。但是,并不能保证
阅读全文
摘要:静态 Pod 直接由特定节点上的kubelet进程来管理,不通过 master 节点上的apiserver。无法与我们常用的控制器Deployment或者DaemonSet进行关联,它由kubelet进程自己来监控,当pod崩溃时重启该pod,kubelete也无法对他们进行健康检查。静态 pod
阅读全文
摘要:Pod是有生命周期的,使用凡人皆有一死来描述pod很贴切,当一个工作节点(node)销毁时,节点上运行的pods也会被销毁, ReplicationController会动态地在其他节点上创建Pod来保持应用程序的运行,每一个Pod都有一个独立的IP地址,甚至是同一个节点上的Pod,可以看出Pod的
阅读全文
摘要:1、获取一个springboot 应用jar包 2、将jar包打成docker镜像 Dockerfile如下: FROM java:8-alpine ADD docker-hello-world-0.0.1-SNAPSHOT.jar app.jar EXPOSE 8080 ENTRYPOINT ["
阅读全文
摘要:dashboard是k8s官方的UI界面,这个界面能显示所有的工作负载(workload),包括运行的Nodes,Services,Pods,Jobs,Relica sets等k8s资源。 1、 下载 dashboard镜像,并将镜像打入本地镜像服务器 由于墙的原因,与上一篇安装k8s集群一样,先下
阅读全文
摘要:一 环境准备 1 三台机器,还需要一台docker镜像服务器 master 192.168.100.89 node2 192.168.100.91 node3 192.168.100.92 registry 192.168.100.89 2 所有机器都关闭selinux setenforce 0 s
阅读全文