
k8s
文章平均质量分 95
从入门到精通的实践总结,云时代、微服务容器化、多云环境。
hguisu
这个作者很懒,什么都没留下…
展开
-
k8s实践(15)--调度器扩展
一般来说,我们有 4 种扩展 Kubernetes 调度器的方法。1、直接 clone 官方的 kube-scheduler 源代码进行修改:在合适的位置直接修改代码,然后重新编译运行修改后的程序,当然这种方法是最不建议使用的,也不实用,因为需要花费大量额外的精力来和上游的调度程序更改保持一致。默认的调度器和我们自定义的调度器可以通过 Pod 的。原创 2024-01-07 19:37:39 · 1236 阅读 · 0 评论 -
k8s实践(14)--scheduler调度器和pod调度策略
负责资源的调度(Pod调度),通过API Server的Watch接口监听新建Pod副本信息, 按照预定的调度策略将Pod调度到相应的Node节点上;原创 2024-01-06 21:49:26 · 2284 阅读 · 2 评论 -
k8s(5)-kubernetes存储系统Volume和PV
一、Volume我们经常会说:容器和 Pod 是短暂的。其含义是它们的生命周期可能很短,会被频繁地销毁和创建。容器销毁时,保存在容器内部文件系统中的数据都会被清除。1、当容器崩溃 时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。2、在 Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes中的Volume抽象就很好的解决了 这些问题. 为了持久化保存容器的数据,可以使用 Kubernetes Volume。...原创 2021-02-20 16:32:48 · 782 阅读 · 2 评论 -
k8s实践(13)--有状态服务StatefulSet详解
最近项目搭建基于StatefulSet创建常驻pod的GPU虚机平台,项目接近尾声,在此顺便做了个总结,温故而知新,而不是走马观花,浅尝辄止懂些概念。一、k8s集群的服务分类在K8S运行的服务,从简单到复杂可以分成三类:无状态服务、普通有状态服务和有状态集群服务。下面分别来看K8S是如何运行这三类服务的。1、无状态服务(Stateless Service):1)定义:是指该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的。2)随意扩容和缩原创 2022-04-17 14:07:02 · 8265 阅读 · 0 评论 -
k8s实践(12)--K8s service服务详解
一、集群的服务分类在K8S运行的服务,从简单到复杂可以分成三类:无状态服务、普通有状态服务和有状态集群服务。下面分别来看K8S是如何运行这三类服务的。1、无状态服务(Stateless Service):1)定义:是指该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的。2)随意扩容和缩容:这些节点可以随意扩容或者缩容,只要简单的增...原创 2020-06-30 19:21:02 · 16020 阅读 · 7 评论 -
k8s实践(11) --服务发现CoreDNS和Kubernetes内部域名解析
参考:官方网站,https://coredns.io/ CoreDNS安装,https://my.oschina.net/u/2306127/blog/1618543 CoreDNS使用手册,https://coredns.io/manual/toc/ CoreDNS源码,https://github.com/coredns CoreDNS配置,https://my.oschina.n...原创 2020-06-30 19:20:44 · 9227 阅读 · 1 评论 -
k8s实践(10) -- Kubernetes集群运行原理详解
1、Kubernetes API Server原理分析Kubernetes API Server的核心功能是提供了Kubernetes各类资源对象(如Pod、RC、Service等)的增、删、改、查及Watch等HTTP Rest接口,成为集群内各个功能模块之间数据交互和通信的中心枢纽,是整个系统的数据总线和数据中心。除此之外,它还有以下一些功能特性:是集群管理的API入口。 是资源配额...原创 2020-06-30 19:19:51 · 2216 阅读 · 2 评论 -
k8s实践(9)--深入了解Pod
一、Pod简介 Pod是k8s系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在k8s上运行容器化应用的资源对象,其他的资源对象都是用来支撑或者扩展Pod对象功能的,比如控制器对象是用来管控Pod对象的,Service或者Ingress资源对象是用来暴露Pod引用对象的,PersistentVolume资源对象是用来为Pod提供存储等等,k8...原创 2020-06-30 19:17:27 · 2199 阅读 · 1 评论 -
k8s实践(8)--ssl安全认证配置
一.基于CA签名的双向数字证书认证方式在一个安全的内网环境中, Kubernetes的各个组件与Master之间可以通过apiserver的非安全端口http://apiserver:8080进行访问。但如果apiserver需要对外提供服务,或者集群中的某些容器也需要访问apiserver以获取集群中的某些信息,则更安全的做法是启用HTTPS安全机制。Kubernetes提供了基于CA签名的...原创 2020-06-16 10:56:37 · 3500 阅读 · 2 评论 -
k8s实践(7)- k8s Secrets
Secrets是Kubernetes中一种对象类型,用来保存密码、私钥、口令等敏感信息。与直接将敏感信息嵌入image、pod相比,Secrets更安全、更灵活,用户对敏感信息的控制力更强。同Docker对敏感信息的管理类似,首先用户创建Secrets将敏感信息加密后保存在集群中,创建pod时通过volume、环境变量引用Secrets。1. Secret类型Secret有三种类型:O...原创 2020-06-16 10:55:39 · 1258 阅读 · 1 评论 -
k8s实践(6)--Kubernetes安全:API Server访问控制
Kubernetes安全安全永远是一个重大的话题,特别是云计算平台,更需要设计出一套完善的安全方案,以应对复杂的场景。 Kubernetes主要使用Docker作为应用承载环境,Kubernetes首先设计出一套API和敏感信息处理方案,当然也基于Docker提供容器安全控制。以下是Kubernetes的安全设计原则:1. 保证容器与其运行的宿主机之间有明确的隔离2. 限制容器对基础设施...原创 2020-06-16 10:55:07 · 3474 阅读 · 1 评论 -
k8s实践(5)k8s的命名空间Namespace
1、什么是Namespace?你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。 他们可以为您和您的团队提供组织,安全甚至性能方面的帮助!“default” Namespace大多数的Kubernetes中的集群默认会有一个叫default的namespace。实际上,应该是3个:d...原创 2020-06-11 22:40:54 · 21756 阅读 · 1 评论 -
k8s实践(4)--k8s集群网络详解和flannel
一、Docker网络模式在讨论Kubernetes网络之前,让我们先来看一下Docker网络。Docker采用插件化的网络模式,默认提供bridge、host、none、overlay、maclan和Network plugins这几种网络模式,运行容器时可以通过–network参数设置具体使用那一种模式。bridge:这是Docker默认的网络驱动,此模式会为每一...原创 2020-06-11 22:38:37 · 6484 阅读 · 3 评论 -
k8s实践(3)--k8s集群安装详解
一、Kubernetes简介1.1 Kubernetes简介Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S。K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久。K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务...原创 2020-06-11 22:33:10 · 4115 阅读 · 1 评论 -
k8s实践(2) etcd集群安装
1、简介 etcd是由CoreOS团队发的一个分布式一致性的KV存储系统,可用于服务注册发现和共享配置,随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到计算集群中,如何让共享配置信息快速被集群中的所有机器发现,更为重要的是,如何构建这样一...原创 2020-06-11 19:58:37 · 1947 阅读 · 1 评论 -
k8s实践(1)--k8s集群入门介绍和基础原理
一、Kubernetes简介1.1 Kubernetes简介Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S。K8S是Google内部一个叫Borg的容器集群管理系统衍生出来的,Borg已经在Google大规模生产运行十年之久。K8S主要用于自动化部署、扩展和管理容器应用,提供了资源调度、部署管理、服务发现、扩容缩容、监控等一整套功能。Kubernetes目标是让部署容器化应用简单高效。官方网站:www.ku...原创 2020-06-11 19:37:05 · 4738 阅读 · 1 评论 -
docker实践(3) 容器镜像原理和容器仓库registry详解
1. docker安装并运行spring boot1.1 下载官方的 CentOS 镜像到本地必须先启动docker才能下载:docker pull centos1.2 运行一个 Docker 容器:[root@localhost~]#docker run-i-t centos/bin/bash[root@d原创 2020-06-11 19:26:15 · 4663 阅读 · 1 评论 -
docker实践(2)深入实践:常用命令和docker api
1. 镜像相关命令1、获取:docker pull centos获取镜像 #从官方仓库注册服务器下载镜像 docker pull dl.dockerpool.com:5000/ubuntu:12.04指定完整的仓库注册服务器地址下载镜像。 docker search centos#搜索官方仓库注册服务器下的centos镜像 2、列出本地镜像:...原创 2020-06-11 19:21:25 · 1201 阅读 · 1 评论 -
docker实践(1) 入门到深入原理以及实践部署
一. 什么是docker Docker是一个开源项目,诞生于2013年初, 最初是 dotCloud 公司内部的一个业余项目。 它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会, 遵从了 Apache 2.0 协议,项目代码在GitHub上进行维护。 Docker 自开源后受到广泛的关注和讨论, 以至于dotCloud公司后来都改名为D...原创 2020-06-11 19:17:07 · 3253 阅读 · 1 评论