Kubernetes

使用kubeadm部署Kubernetes 1.22

2021-08-08
Kubernetes

kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

...

重学k8s: 05.认识Kubernetes的API

2021-08-06
Kubernetes

K8S的API和API资源对象 #

通过前面几节的学习,我们已经知道k8s集群中控制平面节点(control-plane)上的核心组件时kube-apiserver。 kube-apiserver是集群控制管理、资源配置、安全机制的入口,提供了HTTP API服务,以供终端用户、集群内部的组件和服务、集群外部组件相互通信。

...

重学k8s: 04.Kubernetes集群高可用解析

2021-08-05
Kubernetes

上一节学习了Kubernetes集群的几种部署方式,推荐在生产环境使用二进制部署的方案。 使用二进制部署的最佳实践是,参考kubeadm对k8s集群的配置管理实践,开发一套ansible playbook,实现二进制k8s集群的自动化部署和配置管理。 本节将讨论一下这套二进制部署方案如何实现集群的高可用。

...

重学k8s: 03.Kubernetes集群的几种部署方式及如何选择

2021-08-04
Kubernetes

通过上节内容,学习了Kubernetes自己就是一个大型的分布式系统,Kubernetes集群的包含众多组件。集群中的服务器节点分为control-plane节点和node节点. control-plane节点上需要部署kube-apiserverkube-controller-managerkube-scheduler组件。 node节点上需要部署kubeletkube-proxy组件,另外还需要在node节点上部署实现了CRI的容器运行时(如: Containerd, CRI-O)。 还需要部署一套etcd集群作为k8s集群的存储数据库,kube-apiserver使用etcd存储整个集群的状态。 最后还需要在k8s集群中部署一些扩展组件(Addons)包含: 网络和网络策略插件(如Calico)、服务发现插件(如CoreDNS)、可视化管理插件(如Kubernetes Dashboard),才能让整个k8s集群的功能对外可用。

...

重学k8s: 02.Kubernetes集群的组成及核心组件

2021-08-03
Kubernetes

上节学习了k8s是什么以及k8s的核心特性。 k8s是一个用于自动部署,扩展和管理容器化应用程序的开源系统,它的核心功能包括: 自动化上线和回滚、服务发现与负载均衡、存储编排、Secret和配置管理、自动装箱、批量执行、IPv4/IPv6 双协议栈、水平扩缩容、自我修复、为扩展性设计。本节将介绍Kubernetes集群的组成及核心组件。

...

重学k8s: 01.什么是Kubernetes

2021-08-02
Kubernetes

Kubernetes的定义 #

引用Kubernetes官方网站上的定义:

Kubernetes是一个用于自动部署,扩展和管理容器化应用程序的开源系统。Kubernetes将多个容器组成一个逻辑单元以便于管理和服务发现。 Kubernetes源自Google内部十五年的生产环境运维经验,同时凝聚了社区的最佳创意和实践。

...

重学容器31: 容器资源限制之限制容器的内存

2021-07-30
Containerd, Kubernetes

linux memory cgroup子系统 #

限制容器的内存使用需要借助memory cgroup子系统。 在使用cgroups时需要先挂载,例如在centos下memory cgroup子系统被挂载到了/sys/fs/cgroup/memory下,,在这个目录下是各个memory控制组目录,每个控制组目录下还可以有子目录,各个控制组形成了一个树状的层级关系。

...

重学容器30: 容器资源限制之限制容器的进程数量

2021-07-29
Containerd, Kubernetes

容器的单进程模型 #

容器的单进程模型是指推荐在一个容器里只运行一个进程容器的单进程模型并不是说容器里只能运行一个进程,而是因为容器本身没有管理多个进程的能力,推荐在一个容器里只运行一个进程。 在正常的Linux操作系统里都有个1号进程init,例如CentOS的systemd,所有的其他进程都是1号进程的子进程或者是子进程的子进程。 1号进程具有进程管理能力,例如对僵尸进程的管理。而容器中的1号进程就是容器运行的应用本身,它是没有进程管理能力的,所以推荐在容器中只运行一个进程。

...

重学容器29: 容器资源限制之限制容器的CPU

2021-07-28
Containerd, Kubernetes

在最近25~28节,学习了容器镜像构建的一些实践和技巧,使用Containerd替代Docker后,使用buildkit作为容器镜构建工具,到此对容器镜像构建的学习先告一段落。

在前面第6节学习了容器资源限制背后的技术cgroups的基本概念,并以cgroups cpu子系统为例体验一下手动设置cgroup。 先简单复习一下第6节的内容。使用CGroups可以控制的资源有: CPU、内存、网络、IO、文件设备等,因为计算资源(CPU)是cgroups资源限制中最重要的一种资源之一,本节将详细介绍一下如何使用cpu cgroup限制容器CPU的使用。

...

使用kubeadm部署Kubernetes 1.21

2021-06-25
Kubernetes

kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

...

© 2024 青蛙小白