- 博客(12)
- 收藏
- 关注
原创 k8s kubeadm部署方式
节点机器准备工作关闭防火墙systemctl stop firewalldsystemctl disable firewalld配置免密登陆ssh-keygen -t rsassh-copy-id node01禁用SELinuxsetenforce 0/etc/sysconfig/selinux 中改SELINUX=disabled禁用Swapswapoff -a/etc/fstab 中注释swap行打开iptables桥接功能及路由转发sysctl -a |grep b
2021-12-03 09:46:09 1088
原创 k8s调度原理和策略
k8s调度器SchedulerScheduler工作原理请求及Scheduler调度步骤:节点预选(Predicate):排除完全不满足条件的节点,如内存大小,端口等条件不满足。节点优先级排序(Priority):根据优先级选出最佳节点节点择优(Select):根据优先级选定节点1.首先用户通过 Kubernetes 客户端 Kubectl 提交创建 Pod 的 Yaml 的文件,向Kubernetes 系统发起资源请求,该资源请求被提交到Kubernetes 系统中,用户通过命令行工具 Ku
2021-12-01 15:50:48 4183
原创 K8s NetworkPolicy与网络插件flannel、calico详细版
Kubernetes的网络通信问题: 1. 容器间通信: 即同一个Pod内多个容器间通信,通常使用loopback来实现。 2. Pod间通信: K8s要求,Pod和Pod之间通信必须使用Pod-IP 直接访问另一个Pod-IP 3. Pod与Service通信: 即PodIP去访问ClusterIP,当然,clusterIP实际上是IPVS 或 iptables规则的虚拟IP,是没有TCP/IP协议栈支持的。但不影响Pod访问它. 4. Service与集群外部Client的通信,即K8s
2021-11-29 21:46:00 2480
原创 Calico与Flannel 简谈
Calico与Flannel 简谈容器虚拟化网络方案,总体分为2种截然不同的发展路线:基于隧道基于路由基于隧道1、隧道方案最具普适性,在任何网络环境下都可以正常工作,这与它的原理密不可分。2、最常见的隧道方案是flannel vxlan模式,以及calico的ipip模式,其核心原理包含了2个部分。分配网段每台宿主机上都有网络插件的agent进程,它们连接到etcd集中式存储,从虚拟IP池中申请一个IP段占位己有,宿主机上每个容器则从IP段中分配得到1个虚拟IP。封装/解封1)、当不同宿
2021-11-29 21:41:13 3745
转载 Linux修改文件句柄数及vm.max_map_count、stack size
一、修改文件句柄数1.1.查看当前大小ulimit -a1.2.临时修改ulimit -n 40961.3.永久修改vim /etc/security/limits.conf* soft nofile 65536* hard nofile 65536重新登录后生效二、修改max user processes进程数2.1.临时修改ulimit -u 655362.1.永久修改vim /etc/security/limits.conf* soft nproc
2021-08-26 11:17:40 6434
转载 k8s使用nfs-client-provisioner做storageclass
镜像下载与私仓上传docker pull docker.io/lhcre/nfs-client-provisionerdocker tag docker.io/lhcre/nfs-client-provisioner 172.16.15.250/nfs-client-provisionerdocker push 172.16.15.250/nfs-client-provisioner权限控制 nfs-rbac.yamlapiVersion: v1kind: ServiceAccountmet
2021-08-05 14:37:45 475
转载 docker离线部署
一、docker安装包下载地址https://download.docker.com/linux/static/stable/x86_64/二、docker部署1、上传服务器解压:tar -zxvf docker-*.tgz2、拷贝可执行文件到/usr/bin/目录下 cp docker/* /usr/bin/3、将docker注册为servicevim /etc/systemd/system/docker.service4、将下列配置加到docker.service中并保
2021-08-02 11:07:12 307
转载 进程、线程和协程之间的区别和联系
一、进程 进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CPU时间片、内存等资源),进程是资源分配的最小单位。【进程间通信(IPC)】:管道(Pipe)、命名管道(FIFO)、消息队列(Message Queue) 、信号量(Semaphore) 、共享内存(Shared Memory);套接字(Socket)。二、线程 线程,有时被称为.
2021-07-29 16:51:38 167
原创 k8s创建pod流程
kubernetes 创建Pod 的 工作流:step.1kubectl 向 k8s api server 发起一个create pod 请求(即我们使用Kubectl敲一个create pod命令) 。step.2k8s api server接收到pod创建请求后,不会去直接创建pod;而是生成一个包含创建信息的yaml。step.3apiserver 将刚才的yaml信息写入etcd数据库。到此为止仅仅是在etcd中添加了一条记录, 还没有任何的实质性进展。step.4..
2021-07-08 16:52:14 309
原创 kubernetes关于statefulset的理解
概述RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、MongoDB集群等。StatefulSet本质上是Deployment的一种变体,在v1.9版本中已成为GA版本,它为了解决有状态服务的问题,它所管理的Pod拥有固定的Pod名称,启停顺序,在StatefulSet中,Pod名字称为网络标识(hostname),还必须要用到共享存储。
2021-07-01 17:37:36 200
转载 kafka架构解读
1 概述Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark等都支持与Kafka集成。Kafka凭借着自身的优势,越来越受到互联网企业的青睐,唯品会也采用Kafka作为其内部核心消息引擎之一。Kafka作为一个商业级消息中间件,消息可靠性的重要性可想而知。如何确保消息的精确传输?如何确保消息的准确存储?如何确保消息的
2021-06-30 18:03:10 203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人