-
之前的博客已经介绍了部署一个简单的Kubernetes集群,但是这个集群环境没有一个合理的网络配置。在实际生产中要实现集群中各个组件的通信,就需要使用第三方提供的网络插件。Flannel二进制安装1、下载fannel组件wgethttps://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd6
-
Ingress介绍在Kuberbetes中除了使用NodePort,LoadBalancer,PortProxy(hostPort)等实现外部访问入口之外,还可以使用Kubernetes自带的Ingress来实现服务的负载均衡和策略路由的工作,其本质相当于一个Nginx代理服务器,可以对请求(http)实现精细的控制。Ingress是可以利用Nginx、Haproxy等负载均衡器暴露集群内服务的工
-
Pod的作用在k8s中pod是最小的管理单位,在一个pod中通常会包含一个或多个容器。在每一个Pod中都有一个特殊的Pause容器和一个或多个业务容器,Pause来源于pause-amd64镜像,Pause容器在Pod中具有非常重要的作用:Pause容器作为Pod容器的根容器,其本地于业务容器无关,它的状态代表了整个pod的状态。Pod里的多个业务容器共享Pause容器的IP,每个Pod被分配一个
-
参考文章:https://ieevee.com/tech/2018/05/16/k8s-rbd.htmlhttps://zhangchenchen.github.io/2017/11/17/kubernetes-integrate-with-ceph/https://docs.openshift.com/container-platform/3.5/install_config/storage_e
-
系统说明系统组件版本操作系统:CentOS7.6Kernel:4.4Kubernetes:v1.14.1Docker:18.09(支持1.13.1,17.03,17.06,17.09,18.06,18.09)Etcd:v3.3.12Flannel:v0.11cni-plugins:v0.7.5CoreDNS:1.4.0架构示意图架构说明:使用六台主机,三台Master节点,三台node节点Mast
-
之前的博文中已经介绍过使用kubeadm自动化安装Kubernetes,但是由于各个组件都是以容器的方式运行,对于具体的配置细节没有太多涉及,为了更好的理解Kubernetes中各个组件的作用,本篇博文将使用二进制的方式安装Kubernetes集群,对于各个组件的配置做进一步的详细说明。在1.10版本中,已经逐步废弃掉了非安全端口(默认8080)的连接方式,这里会介绍使用ca证书双向认证的方式来建
-
当我们在浏览器上点开一个网页时,我们的客户端就会和服务器建立一个socket连接。Soket是什么,什么是Socket 五元组,常见的TCP优化参数的依据又是什么,这里我们将来分析一下。Socket 五元组我们通常所说的五元组就是我们熟悉的 源IP,源端口,目的IP,目的端口和协议组成。以http协议为例,当我们访问网站时,使用三层协议的是TCP协议,源IP为本地电脑的IP,源端口为随机端口,目的
-
场景需求在有些不需要安装java环境的服务器如Nginx,php等为主的web应用可以使用filebeat来对这些服务日志进行收集。Filebeat用于收集本地文件的日志数据。它作为服务器上的代理安装,Filebeat监视日志目录或特定的日志文件,尾部文件,并将它们转发到Elasticsearch或Logstash进行索引。logstash和filebeat都具有日志收集功能,filebeat更轻
-
场景需求在使用ELK对日志进行收集的时候,如果需要对数据进行存档,可以考虑使用数据库的方式。为了便于查询,可以同时写一份数据到Elasticsearch中。环境准备CentOS7系统:192.168.20.60node1KibanaESLogstashNginx192.168.20.61node2ESMariaDB这里使用收集Nginx日志到数据库和ES中作为示例。配置数据库安装好数据库后,配置,
-
Check current docker versiondocker --versionCheck current docker storage-driverdocker info |grep -i storageCheck current Docker directory ftype (default : /var/lib/docker)xfs_info /home/docker |grep f
-
Jenkins的权限管理Jenkins本身自带安全管理的功能,但是一般情况下很少去使用,更多是使用插件的方式进行更加灵活的处理。Jenkins的权限管理需要依赖Jenkins的权限管理插件。通过配置插件role-base,可以很方便给不同用户不同job的管理和执行权限。安装插件在系统管理、插件管理中搜索role-base插件,进行安装:搜索Role-base安装:安装完成之后,在“配置全局安全”中
-
在监控大量服务器时,如果将所有的请求都发送到一个zabbix server上,将会对我们的zabbix server造成很大的压力,我们在规划多个区域或机房进行监控的时候,会考虑到使用zabbix proxy 来代理zabbix server 的部分功能。zabbix server 通过管理多个代理来对所有服务器进行监控。zabbix proxy 安装配置zabbix proxy 的安装配置也很简
-
新版的K8S1.16版本在稳定性和可用性方面有了较大的提升,特别是支持后端PV的扩容API接口已经更新为beta版本,在使用有状态的数据存储POD时管理会更加方便,也更符合生产需求。下面新版K8S1.16.2快速部署说明。配置信息主机列表:主机名IPk8s-master192.168.20.70k8s-worker-1192.168.20.71k8s-worker-2192.168.20.72组件
-
Istio各个Deployment包含的容器组件Deployment名称Container和PortContainer和Portistio-pilotpilot:8080,15010proxyv2:15003,15005,15007istio-galleygalley:443,9093istio-egressgatewayproxyv2:80,443,15090istio-ingressgatew
-
RBD介绍RBD块存储是ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中,通常的挂载方式有两种:Kernel模块(KRBD)利用QEMU模拟器通过LIBRBD方式块是一个有序字节,普通的一个块大小为512字节。基于块存储是最常见的方式,常见的硬盘、软盘和CD光驱等都是存储数据最简单快捷的设备。在物理机上提供块设备时,使用的是Kernel的RB
-
安装ceph官方文档0.部署前的准备在部署之前需要准备好三台CentOS主机,我这里使用的是CentOS7.5,并将系统内核升级到4.x长期支持版本,相关的配置信息如下:节点主机名和IP信息local-node-1:10.0.0.1local-node-2:10.0.0.2local-node-3:10.0.0.3配置hosts解析三台节点的主机名,并将三台节点配置为无密码认证模式。关闭防火墙和S
-
Ceph存储的体系结构Ceph存储由几个不同的守护进程组成,这些守护进程彼此之间是相互独立的,每一个组件提供特定的功能。Ceph核心组件RADOS(ReliableAutonomicDistributedObjectStore可靠、自动,分布式对象存储)是ceph存储组件的基础。ceph将一切都以对象的方式存储,RADOS就负责存储这些对象,而不考虑他们的数据类型。RADOS层组件确保数据的一致性
-
参考文档:https://wiki.deimos.fr/Ceph_:_performance,_reliability_and_scalability_storage_solutionCeph版本选择1.Ceph的版本发布周期Ceph当前的最新的LTS版本为mimic13.2.x和luminous12.2.x,通过release信息可以查看到相关发布信息.在具体的版本中会说明是否是LTS版本。每年
-
配置说明配置华为交换机的注意事项(针对5700系列)默认情况下,华为设备管理地址为192.168.1.253/24,账号admin,密码admin@huawei.com如果有web界面管理功能,可以尝试使用ETH口登陆,如果登陆不上,可以按住MODE键6s,重置,打开web登陆功能。在配三层交换机配置vlan时,默认情况下不同的vlan网段是可以通过路由互通的,不用额外配置(如思科等设备需要开启i
-
官方链接配置注意事项当定义一个配置时,指定最新稳定版本的API在推送到集群之前,配置文件必须使用版本控制的方式进行管理,这样可以在需要的时候快速回滚配置,也有助于集群的重新创建和恢复。使用YAML而不是JSON编写配置文件。虽然这些格式几乎可以在所有场景中互换使用,但YAML往往更加用户友好。只要有意义,就将相关对象分组到一个文件中。一个文件通常比几个文件更容易管理。请参阅guestbook-al
-
此篇博文istio相关介绍和测试用例来源于网络,这里结合自己配置加以整理。istio介绍官方中文参考文档官方英文参考文档服务网格(ServiceMesh)这个术语通常用于描述构成这些应用程序的微服务网络以及应用之间的交互。随着规模和复杂性的增长,服务网格越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、指标收集和监控以及通常更加复杂的运维需求,例如A/B测试、金丝雀发布、限流、访问控
-
温馨提示此篇博文主要是记录如何在本地环境使用CentOS系统安装minikube,对于安装过程中大量出现镜像下载失败的问题做了填坑,主要是使用kubernete1.12.1版本,对于其他不同版本,方法是一样的。1.下载部署安装包wgethttps://storage.googleapis.com/minikube/releases/v0.30.0/minikube-linux-amd64mvmin
-
原文链接:https://blog.csdn.net/qq_31382921/article/details/53405500在linux中date有很多用法,在这里我简单介绍一下-d这个参数的使用方法以及使用例子:date-d//显示字符串所指的日期与时间。字符串前后必须加上双引号指定显示的日期格式:date<+时间日期格式>例如:date+"%Y-%m-%d"//注意:+和格式之间
-
Docker网络基础由于Kubernetes是基于Docker容器作为应用发布的载体,而Docker本身的网络特性也决定了Kubernetes在构建一个容器互通网络必须要解决Docker自身网络的缺陷。网络命名空间为了支持网络协议栈的多个实例,Linux在网络命名空间中引入了网络命名空间(NetworkNamespace),这些网络协议栈被隔离到不同的命名空间中。不同的命名空间中资源完全隔离,彼此
-
参考链接网络策略用来说明一组Pod之间是如何被允许互相通信,以及如何与其它网络Endpoint进行通信。NetworkPolicy资源使用标签来选择Pod,并定义了一些规则,这些规则指明允许什么流量进入到选中的Pod上。前提条件网络策略通过网络插件来实现,所以必须使用一种支持NetworkPolicy的网络方案(如Calico,wave等)——非Controller创建的资源,是不起作用的。隔离的
-
原文链接: http://dockone.io/article/5272 docker使用namespace实现网络,计算等资源的隔离,当需要排查网络问题时,使用p netns命令却无法在主机上看到任何network namespace,这是因为默认docker把创建的网络命名空间链接文件隐藏起来了,导致ip netns命令无法读取,给分析网络原理和排查问题带来了麻烦。下面是恢
-
Secret介绍参考文档Secret的主要作用是保管私密数据,比如密码,OAuthTokens,SSHKey等信息。这些私密信息放在Secret对象中比直接放在Pod或DockerImage中更加安全,也更方便管理。Secret一旦被创建,则可以通过以下三种方式来使用:在创建Pod时,通过为pod指定ServiceAccount来自动使用该Secret,主要用于APIServer鉴权的过程通过挂载
-
SSL/TLSCertificates–TheirArchitecture,Process&Interactions翻译文档SSL/TLSCertificatesandhowSSL/TLSworks您可能听说过SSL,您的网站甚至可能使用SSL加密-但您知道它是如何工作的吗?你想关心一下?当然可以。你有一个好奇心,这就是你点击这个链接的原因!在本文中,我们将介绍SSL的内部工作原理,包括S
-
KubernetesAPIServer功能KuberneteAPIServer的核心功能主要是为Kubernetes的各类资源对象(如node,pod,service等)提供了增、删、改、查以及watch的HTTPRest接口。APIserver是集群中各个功能模块之间数据交互和通信的中心枢纽,除此之外它还有以下特性:集群管理的API入口资源配额控制的入口提供完备的集群安全机制常规API接口Kub
-
Service的作用参考链接虽然每个Pod都有自己的IP地址,但即使这些IP地址不能长期保持稳定。这导致了一个问题:如果一些Pod(称为它们的后端)为Kubernetes集群内的其他Pod(我们称之为前端)提供了功能,那么这些前端如何发现并跟踪哪些后端位于该集合中?通过Service。Kubernetes的service是一个抽象概念,它定义了Pod的逻辑集合以及访问它们的策略-有时称为微服务。s
酥心糖
分享到朋友圈
- 关注技术:Java C/C++ python
- 入住博客:2012-03-12 9.1年