Kubernetes
文章平均质量分 68
kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
肥叔菌
本博客主要用于记录学习过程中的笔记,每隔一段时间,博主将会将精华内容整合发到知乎、简书上。欢迎关注博主肥叔菌在其他平台上的账号,谢谢。
B站:https://space.bilibili.com/456254145
segmentfault:https://segmentfault.com/u/feishujun/articles
简书:https://www.jianshu.com/u/67bab078551a
展开
-
K8s Service之NodePort
NodePort即节点Port,通常在安装部署K8S集群系统时会预留一个端口范围用于NodePort,默认为30000-32767。下面配置清单定义的SERVICE资源对象myapp-svc-nodeport,它使用了NodePort类型,且人为指定节点端口为32223,NodePort类型的service资源依然会被配置ClusterIP,作为节点从NodePort接入流量后转发的目标地址,目标端口则是与SERVICE资源对应的spec.ports.port属性中定义的端口。kind: Service原创 2021-05-29 13:00:10 · 4406 阅读 · 1 评论 -
K8s 服务发现:环境变量和DNS
环境变量创建Pod资源时,kubectl会将其所属名称空间内的每个活动的Service对象以一系列环境变量的形式注入其中。它支持使用Kubernetes Service Service环境变量以及与Docker的links兼容的变量。Kubernetes Service环境变量Kubernetes为每个Service资源生成包括以下形式的环境变量在内的一系列环境变量,在同一名称空间中创建的Pod对象都会自动拥有这些变量:{SVCNAME}_SERVICE_HOST、{SVCNAME}_SERVICE_原创 2021-05-29 12:46:59 · 1311 阅读 · 0 评论 -
修改calico的网络模式IPIP变为BGP
需要修改calico的网络模式: 修改calico目录下面target目录下的calico.yaml加入以下内容(红色部分为修改的内容,上面IPIP方便定位):如果需要将calico网络模式从IPIP模式修改为bgp模式需要修改以下地方1、添加BGp模式修改calico的yaml配置文件,搜索IPIP,添加下面两行—METHOD(bgp模式),或者直接修改calico.yaml配置文件[root@k8s-master1 target]# kubectl edit ds calico-node -n原创 2021-05-27 22:57:02 · 3037 阅读 · 0 评论 -
K8s Service之Clusterip
Service资源会通过API Server持续监视着(watch)标签选择器匹配到的后端Pod对象,并实时跟踪各对象的变动,例如IP地址变动、对象增加或减少等。不过,需要特别说明的是,Service并不直接链接至Pod对象,它们之间还有一个中间层——Endpoints资源对象,它是一个由IP地址和端口组成的列表,这些IP地址和端口则来自于由Service的标签选择器匹配到的pod资源。默认情况下,创建Service资源对象时,其关联的Endpoints对象会自动创建。服务暴露Sevice的IP地址仅原创 2021-05-27 22:50:48 · 3736 阅读 · 0 评论 -
K8sPod对象的生命周期
Pod的相位原创 2021-05-24 12:59:51 · 422 阅读 · 0 评论 -
Redis三种集群方案概括
在开发测试环境中,我们一般搭建Redis的单实例来应对开发测试需求,但是在生产环境,如果对可用性、可靠性要求较高,则需要引入Redis的集群方案。虽然现在各大云平台有提供缓存服务可以直接使用,但了解一下其背后的实现与原理总还是有些必要(比如面试), 本文就一起来学习一下Redis的几种集群方案。Redis支持三种集群方案:主从复制模式、Sentinel(哨兵)模式、Cluster模式。主从复制模式基本原理主从复制模式中包含一个主数据库实例(master)与一个或多个从数据库实例(slave),如下图原创 2021-05-22 22:30:57 · 252 阅读 · 0 评论 -
K8s镜像及其获取策略
启动容器时,容器引擎将首先于本地查找指定的镜像文件,不存在的镜像则需要从指定的镜像仓库Registry下载至本地。K8s系统支持用户自定义镜像文件的获取策略,例如在网络资源较为紧张时可以禁止从仓库中获取镜像文件等。容器imagePullPolicy字段用于为其指定镜像获取策略,它的可用值包括如下:Always 镜像标签为latest或镜像不存在时总是从指定的仓库中获取镜像IfNotPresent 仅当本地镜像缺失时方才从目标仓库下载镜像Never 禁止从仓库下载镜像,即仅使用本地镜像对于标签la原创 2021-05-22 12:31:09 · 1546 阅读 · 0 评论 -
K8sPod资源基础管理操作
Pod是kubernets API中的核心资源原创 2021-05-21 13:01:16 · 304 阅读 · 0 评论 -
K8s资源对象管理方式
kubectl的命令可分为三类:陈述式命令(imperative command) 陈述式对象配置(imperative object configuration)声明式对象配置(declarative object configuration)陈述式管理方式包括create、delete、get和replace等命令,与陈述式命令的不同之处在于,它通过资源配置清单读取需要管理的目标资源对象。陈述式对象配置的管理操作直接作用于活动对象,即便仅修改配置清单中的极小一部分内容,使用replace命原创 2021-05-20 12:56:38 · 276 阅读 · 0 评论 -
K8s资源及其在API中的组织形式
Kubernetes将API分割为多个逻辑组合,称为API群组,它们支持单独启用或禁用,并能够再次分解。API Server支持在不同的群组中使用不同的版本,允许各组以不同的速度演进,而且也支持同一群组同时存在不同的版本,如apps/v1、apps/v1beta2和apps/v1beta1,也因此能够不同的群组中使用同名的资源类型,从而能在稳定版本的群组及新的实验群组中以不同的特性同时使用同一个资源类型。群组化管理的API使得其可以更轻松地进行扩展。当前系统的API Server上的相关信息可通过kubec原创 2021-05-18 23:25:00 · 369 阅读 · 0 评论 -
K8s使用ConfigMap配置Redis
按照下面的步骤,使用 ConfigMap 中的数据来配置 Redis 缓存。首先创建一个配置模块为空的 ConfigMap:cat <<EOF >./example-redis-config.yamlapiVersion: v1kind: ConfigMapmetadata: name: example-redis-configdata: redis-config: ""EOF应用上面创建的 ConfigMap 以及 Redis pod 清单:kubectl a原创 2021-05-18 22:47:12 · 1674 阅读 · 0 评论 -
小米Redis的K8s容器化部署实践
本文讲述了小米是如何将Redis Cluster部署在K8S上提供高质量的服务的背景小米的Redis使用规模很大,现在有数万个实例,并且每天有百万亿次的访问频率,支撑了几乎所有的产品线和生态链公司。之前所有的Redis都部署在物理机上,也没有做资源隔离,给管理治理带来了很大的困难。我们的运维人员工作压力很大,机器宕机网络抖动导致的Redis节点下线都经常需要人工介入处理。由于没有做CPU的资源隔离,slave节点打RDB或者由于流量突增导致节点QPS升高造成的节点CPU使用率升高,都可能对本集群或其他集转载 2021-05-18 21:55:55 · 595 阅读 · 0 评论 -
K8s命令式容器应用编排基础管理操作Deployment控制器
K8S集群资源分类:名称空间级别、集群级别和元数据型。名称空间级别:工作负载型资源(workload):Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob(ReplicationController在v1.11版本被废弃)服务发现及负载均衡型资源(ServiceDiscovery LoadBalance):Service、Ingress …配置与存储型资源:Volume(存储卷)、CSI(容器存储接口)特殊类型的存储卷:Con原创 2021-05-18 12:48:35 · 449 阅读 · 1 评论 -
Greenplum for kubernetes手册——译简介
Release Notes适用于Kubernetes 2.3的VMware Tanzu Greenplum是次要版本,引入了新功能和错误修复。有关VMware Tanzu Greenplum数据库的详细信息,请参考VMware Tanzu Greenplum数据库文档。注意:不支持将数据从VMware Tanzu Greenplum版本1.x升级或迁移到版本2.x。 在安装版本2.x之前,必须使用卸载适用于Kubernetes的VMware Tanzu Greenplum中的说明来卸载VMware Ta翻译 2021-05-16 20:28:25 · 726 阅读 · 0 评论 -
minikube在ubuntu20.4上搭建k8s单机
我的环境:ubuntu20.4、docker19.03.13、kubectl15.0、minikubev1.2.0kubeclt安装安装最新版本的kubectl会和minukube安装的1.15.0版本的kubectl服务不匹配,导致任务不能发布,这里安装1.15.0版本,要安装别的版本替换v1.15.0curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl#原创 2021-04-25 12:41:05 · 526 阅读 · 0 评论 -
k8s部署zookeeper集群 运行 ZooKeeper, 一个 CP 分布式系统
本教程展示了在 Kubernetes 上使用 StatefulSets,PodDisruptionBudgets 和 PodAntiAffinity 特性运行 Apache Zookeeper。准备开始在开始本教程前,你应该熟悉以下 Kubernetes 概念:Pods、Cluster DNS、Headless Services、PersistentVolumes、PersistentVolume Provisioning、StatefulSets、PodDisruptionBudgets、PodAnt转载 2021-01-30 13:08:57 · 3291 阅读 · 0 评论 -
k8s部署zookeeper集群 将ZooKeeper迁移到Kubernetes上
拥抱并取代:将ZooKeeper迁移到Kubernetes上本文介绍了HubSpot公司如何将主机上的ZooKeeper集群迁移到Kubernetes上。HubSpot是一家B2B的SaaS公司,成立于2006年。在8年的时间里,它从零起步,成长为一家收入超过1亿美金的大公司,并且于2014年成功上市。在数字营销领域,HubSpot的网站在全世界的流量排名是第五位,在 SMB(中小企业)SaaS 市场上,它确实做到了主宰一方。最近我们在完全没有downtime的情况下,将数百个ZooKeeper实例从单原创 2021-01-30 12:52:00 · 2849 阅读 · 2 评论 -
k8s部署kafka集群 方案收集
博客一一、概述在k8s里面部署kafka、zookeeper这种有状态的服务,不能使用deployment和RC,k8s提供了一种专门用来部署这种有状态的服务的API–statefulset,有状态简单来说就是需要持久化数据,比如日志、数据库数据、服务状态等。statefulset应用场景:稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于Headless Service(即没有Clus原创 2021-01-28 13:00:37 · 4053 阅读 · 0 评论 -
Kubernets v1.3.0二进制安装
关闭防火墙systemctl disable firewalldsystemctl stop firewalldMaster上的etcd、kube-apiserver、kube-controller-manager、kube-scheduler服务etcd服务etcd服务作为kubernets集群的主数据库,在安装Kubernets各服务之前需要首先安装和启动。从Github官网下载etcd发布的二进制文件etcd-v3.4.9-linux-amd64,将etcd和etcdctl文件复制到/us原创 2020-10-17 18:53:11 · 4885 阅读 · 0 评论 -
FPGA云原生 Xilinx FPGA_as_a_Service 概述
FPGA_as_a_Service仓库分为四个子仓库:Xilinx Base Runtime(预装了Xilinx运行时和setup、flash Alveo加速卡的Docker镜像)、Containerization(为多种云供应商提供脚本build Docker镜像)、k8s-fpga-device-plugin(在k8s集群中运行FPGA容器,节点部署发现FPGA Daemonset)、XRM(Xilinx FPGA硬件资源管理)Xilinx Base Runtime - Xilinx Runtim原创 2020-08-10 22:44:48 · 8498 阅读 · 0 评论 -
安装K8S单机版学习使用
查看网络,没有配置公网IP添加华为云源https://support.huaweicloud.com/ecs_faq/ecs_faq_1003.html关闭swap,注释swap分区安装常用包使用aliyun源安装docker-ceyum -y install docker-ce安装出问题,使用阿里云执行yum -y install docker-cehttps://www.kubernetes.org.cn/7189.html...原创 2020-07-14 23:07:03 · 7115 阅读 · 0 评论