pod

51、Kubernetes 系统基础

老子叫甜甜 提交于 2020-03-27 03:28:39
51.1、kubernetes介绍: 1、什么是kubernetes: (1)Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。 (2)使用Kubernetes可以: 1)自动化容器的部署和复制 2)随时扩展或收缩容器规模 3)将容器组织成组,并且提供容器间的负载均衡 4)很容易地升级应用程序容器的新版本 5)节省资源,优化硬件资源的使用 6)提供容器弹性,如果容器失效就替换它 2、kubernetes的特点: (1)便携性:支持公有云、私有云、混合云、多重云(multi-cloud) (2)可扩展:模块化、插件化、可组合、可挂载 (3)自修复:自动部署,自动重启,自动复制,自动伸缩扩展 3、kubernetes特性: Kubernetes是一种用于在一组主机上运行和协同容器化应用程序的系统,旨在提供可预测性、可扩展性与高可用的性的方法来完全管理容器化应用程序和服务的生命周期的平台。 (1)自动装箱:构建于容器之上,基于资源依赖及其他约束自动完成容器部署且不影响其可用性,并通过调度机制混合关键型应用和非关键型应用的工作负载于同一节点以提升 资源利用率。 (2)自我修复:支持容器故障后自动重启、节点故障后重行调度容器,以及其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制。 (3)水平扩展

k8s

徘徊边缘 提交于 2020-03-26 11:11:20
一、环境准备 二、所有节点安装docker、kubelet、kubeadm等 三、 八、kubelet(pod管家) 在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处理Master节点下发到本节点的任务,管理Pod和其中的容器。kubelet会在API Server上注册节点信息,定期向Master汇报节点资源使用情况,并通过cAdvisor监控容器和节点资源。可以把kubelet理解成【Server-Agent】架构中的agent,是Node上的pod管家。更多kubelet配置参数信息可参考kubelet –help 当k8s节点出现 NotReady,可用如下命令查看报错信息 # journalctl -f -u kubelet 九、小技巧 1、flannel pod 删除不掉 强制删除也不行,经排查,node2节点有问题(docker没有开机自启,重启docker)。节点正常后再强制删除 使用命令获取pod的名字 kubectl get po -n NAMESPACE |grep Terminating 使用kubectl中的强制删除命令 kubectl delete pod podName -n NAMESPACE --force --grace-period=0 强大的k8s离线管理 https://docs.kubeoperator

kubernetes 的pv/pvc存储

。_饼干妹妹 提交于 2020-03-26 11:06:50
kubernetes 的pv/pvc存储 标签(空格分隔): kubernetes系列 一: kubernetes的PV/PVC存储 一: kubernetes的PV/PVC存储 1.1 pv PersistentVolume (PV) 是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV 是 Volume 之类的卷插件,但具有独立于使用 PV 的 Pod 的生命周期。此 API 对象包含存储实现的细节,即 NFS、 iSCSI 或特定于云供应商的存储系统 1.2 pvc PersistentVolumeClaim (PVC) 是用户存储的请求。它与 Pod 相似。Pod 消耗节点资源,PVC 消耗 PV 资源。Pod 可以请求特定级别的资源 (CPU 和内存)。声明可以请求特定的大小和访问模式(例如,可以以读/写一次或 只读多次模式挂载) 1.3 静态 pv 集群管理员创建一些 PV。它们带有可供群集用户使用的实际存储的细节。它们存在于 Kubernetes API 中,可用 于消费 1.4 动态 当管理员创建的静态 PV 都不匹配用户的 PersistentVolumeClaim 时,集群可能会尝试动态地为 PVC 创建卷。此 配置基于 StorageClasses :PVC 必须请求 [存储类]

kubernetes发布的培训

匆匆过客 提交于 2020-03-26 10:59:46
kubernetes发布的培训大纲 后续就开始学习这些东西 一起吧 一、Docker基础 1、Docker是什么? 2、Docker有什么用? 3、从案例了解Docker 4、Docker架构说明 5、Docker主要组件与概念介绍 二、容器技术 1、容器技术发展 2、为什么选择Docker? 3、Cgroup介绍 4、Namespace介绍 三、Docker 容器 1、Docker Containers(容器)介绍 2、Docker案例使用 3、Docker 创建Containers 4、Docker Containers的停止、启动等 5、Docker Containers 修改,备份等 第一、二、三节重点:了解什么是Docker,以及为什么企业要从传统方式向Docker容器化转变,掌握Docker架构设计原理,以及了解Docker主要组件,为后续课程学习做准备。理解虚拟化的本质,为后期的Kubernetes做好基础。 四、Docker镜像 1、Docker镜像是什么? 2、镜像组织结构 3、镜像写时复制 4、镜像基本操作 5、镜像常用操作实践 6、私有镜像仓库介绍和搭建[Vmware Harbor] 7、镜像在实际使用注意事项[私人镜像制作引导] 五、Docker网络 1、Docker网络介绍 2、Docker网络模式 3

K8S volume

£可爱£侵袭症+ 提交于 2020-03-25 21:06:36
容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将去失--容器以干净的状态(镜像最初的状态)重新启动。其次,在 Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes中的 volume 抽象就很好的解决了这些问题。 背景 Kubernetes 中的卷有明确的寿命 -- 与封装它的 Pod 相同。所以,卷的生命比 Pod 中的所有容器都长,当这个容器重启时数据仍然得以保存。当然,当 Pod 不再存在时,卷也将不复存在。也许更重要的是,Kubernetes 支持多种类型的卷,Pod 可以同时使用任意数量的卷 卷的类型 Kubernetes支持以下类型的卷: awsElasticBlockStore, azureDisk, azureFile, cephfs, csi, downwardAPI, emptyDir, fc, flocker, gcePersistentDisk, gitRepo, glusterfs, hostPath, iscsi, nfs, persistentVolumeClaim, projected, portworxVolume, quobyte, rbd, scaleIO, secret, storageos, vsphereVolume

Kubernetes理论02

依然范特西╮ 提交于 2020-03-24 22:45:40
转载:https://blog.51cto.com/hmtk520/2428519 一、Pod简介 二、标签 三、Pod控制器:Deployment、ReplicaController、StatefuleSet、DaemonSet、Job、CronJob等 四、Service 五、Ingress 六、ServiceAccount/UserAccount 七、Secret&Configmap 一、Pod简介 k8s的常见资源: workload(对外提供服务的):Pod、ReplicaSet、Deployment、StaefulSet、Job、CronJob... Service发现及均衡:service、ingress 配置与存储:Volume、CSI(存储接口)       ConfigMap、Secret、DownwardAPI 集群级资源:Namespace、Node、Role、ClusterRole、RoleBinding、ClusterRoleBinding 元数据资源:HPA、PodTemplate、LimitRange、 一个Pod(就像一群鲸鱼,或者一个豌豆夹)相当于一个共享context的配置组,在同一个context下,应用可能还会有独立的cgroup隔离机制,一个Pod是一个容器环境下的“逻辑主机”,它可能包含一个或者多个紧密相连的应用

kubernetes理论

天大地大妈咪最大 提交于 2020-03-24 22:41:29
kubernetes 特性 : 自动装箱,自我修复,自动水平扩展,自动服务发现,服务自动负载均衡,自动发布和回滚 秘钥和配置管理,存储编排,批量处理执行 kubernetes 架构 :master/node master: 最多 3 个 用途 : 控制 组件 :apiserver 接收处理请求 scheduler 调度器 调度处理请求 调取 pod pod 控制器( loop 探测) 确保 pod 健康 控制器管理器 controller_management 确保控制器健康 安装组件 :API server,Schduler,Controller_Manager,etcd node:n 个 用途 :worker 计算 运行 pod 安装组件 :kublet k8s 集群代理 docker kube-proxy 与 apiserver 通信 pod 改变发送数据给 apiserver 修改 serivce 规则 apiserver 存放集群中各对象的状态信息 存放在共享存储 etcd 中存放键值对 etcd 的客户端是 apiserver (一套 CA ) , apiserver 与 kube-proxy (一套 CA )和 kubelet (一套 CA )通信 都是通过 CA 证书点对点通信 5 套 CA etcd 内部一套 CA , apiserver 与 apiserver

数据中心如何实现传统网络与容器网络的架构共存

戏子无情 提交于 2020-03-24 19:45:21
一、 概述 随着数据中心网络技术的革新,并伴随容器的落地,如何在数据中心内部构建一个合理可用的网络架构,以满足不同形态的业务部署模式,成为一个网络人员越来越需要注重和考虑的方向。 二、 业务背景 在互联网公司的数据中心,通常你会越来越多的看到容器(k8s)作为业务/服务的载体,各业务/服务之间(pod间)彼此调用,以下从pod间调用、容器网络选型、容器网络架构、网络隔离几个方面进行阐述。 三、 pod间调用 同一node内pod间调用 pod间通过容器网络纯内部交互,这时外部网络无感知。 不通node的pod间调用 pod间需要经过容器网络→外部网络进行交互,交互过程可提前将pod ip或cluster ip暴露到外网,具体依据业务需求和网络模型而定。 四、 容器网络选型 容器网络选型通常参照以下几点: 业务实现方式; 网络资源调配; 网络扩展及灵活性; 对底层物理网络的依赖度; 网络资源的收放要求; 开源容器网络组件按照网络覆盖类型大致可分为:overlay和underlay,underlay相比overlay在传输效率、部署实现及维护等方面更有优势( 详细的各种容器网络组件横向比较,可自行查询学习,此处不详细展开 )。 以calico为例,作为underlay的容器网络解决方案,依靠动态路由协议bgp实现网络互通,并通过原生的network policy解决容器间网络隔离。

kubeadm部署kubernetes v1.17.4 单master节点

不羁岁月 提交于 2020-03-24 17:46:35
环境说明: #操作系统:centos7 #docker版本:19.03.8 #kubernetes版本:v1.17.4 #K8S master 节点IP:192.168.3.62 #K8S worker节点IP:192.168.2.186 #网络插件:flannel #kube-proxy网络转发: ipvs #kubernetes源:使用阿里云源 #service-cidr:10.96.0.0/16 #pod-network-cidr:10.244.0.0/16 部署准备: 操作在所有节点进行 修改内核参数: 关闭swap vim /etc/sysctl.conf vm.swappiness=0 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-arptables=1 sysctl -p 临时生效 swapoff -a && sysctl -w vm.swappiness=0 修改 fstab 不在挂载 swap vi /etc/fstab /dev/mapper/centos-swap swap swap defaults 0 0 安装docker yum-config

KubeSphere排错实战

落花浮王杯 提交于 2020-03-24 16:16:35
概述:近期在使用QingCloud的Kubesphere,极好的用户体验,私有化部署,无基础设施依赖,无 Kubernetes 依赖,支持跨物理机、虚拟机、云平台部署,可以纳管不同版本、不同厂商的 Kubernetes 集群。在k8s上层进行了封装实现了基于角色的权限控制,DevOPS流水线快速实现CI/CD,内置harbor/gitlab/jenkins/sonarqube等常用工具,基于基于 OpenPitrix 提供应用的全生命周期管理,包含开发、测试、发布、升级,下架等应用相关操作自己体验还是非常的棒。 同样作为开源项目,难免存在一些bug,在自己的使用中遇到下排错思路,非常感谢qingcloud社区提供的技术协助,对k8s有兴趣的可以去体验下国产的平台,如丝般顺滑的体验,rancher的用户也可以来对不体验下。 一 清理退出状态的容器 在集群运行一段时间后,有些container由于异常状态退出Exited,需要去及时清理释放磁盘,可以将其设置成定时任务执行 docker rm `docker ps -a |grep Exited |awk '{print $1}'` 二 清理异常或被驱逐的pod 清理kubesphere-devops-system的ns下清理 kubectl delete pods -n kubesphere-devops-system $