摘要:一 kubeadm介绍 1.1 概述 参考《附003.Kubeadm部署Kubernetes》。 1.2 kubeadm功能 参考《附003.Kubeadm部署Kubernetes》。 二 部署规划 2.1 节点规划 节点主机名 IP 类型 运行服务 k8smaster01 172.24.8.71 阅读全文
posted @ 2019-12-04 15:02 木二 阅读 (140) 评论 (1) 编辑
摘要:一 kubeadm介绍 1.1 概述 参考《附003.Kubeadm部署Kubernetes》。 1.2 kubeadm功能 参考《附003.Kubeadm部署Kubernetes》。 二 部署规划 2.1 节点规划 节点主机名 IP 类型 运行服务 k8smaster01 172.24.8.71 阅读全文
posted @ 2019-12-04 15:02 木二 阅读 (140) 评论 (1) 编辑
摘要:一 Kubernetes DNS介绍1.1 Kubernetes DNS发展作为服务发现机制的基本功能,在集群内需要能够通过服务名对服务进行访问,因此需要一个集群范围内的DNS服务来完成从服务名到ClusterIP的解析。DNS服务在Kubernetes的发展过程中经历了3个阶段,SkyDNS ----> KubeDNS ----> CoreDNS。1.2 SkyDNS在Kubernetes 1.... 阅读全文
posted @ 2019-12-03 17:24 木二 阅读 (144) 评论 (1) 编辑
摘要:一 前期准备 1.1 前置条件 集群部署:Kubernetes集群部署参考003——019。 glusterfs-Kubernetes部署:参考《附010.Kubernetes永久存储之GlusterFS超融合部署》。 1.2 部署规划 本实验使用StatefulSet部署MongoDB集群,同时每 阅读全文
posted @ 2019-11-25 11:31 木二 阅读 (212) 评论 (0) 编辑
摘要:一 Pod的扩容和缩容 Kubernetes对Pod的扩缩容操作提供了手动和自动两种模式,手动模式通过执行kubectl scale命令或通过RESTful API对一个Deployment/RC进行Pod副本数量的设置。自动模式则需要用户根据某个性能指标或者自定义业务指标,并指定Pod副本数量的范 阅读全文
posted @ 2019-11-24 11:37 木二 阅读 (120) 评论 (0) 编辑
摘要:一 前期准备 1.1 基础知识 在Kubernetes中,使用GlusterFS文件系统,操作步骤通常是: 创建brick-->创建volume-->创建PV-->创建PVC-->Pod挂载PVC 如果要创建多个PV,则需要手动重复执行,可通过Heketi管理glusterfs。 Heketi是用来 阅读全文
posted @ 2019-11-23 12:50 木二 阅读 (147) 评论 (2) 编辑
摘要:一 前期准备 1.1 基础知识 Heketi提供了一个RESTful管理界面,可以用来管理GlusterFS卷的生命周期。Heketi会动态在集群内选择bricks构建所需的volumes,从而确保数据的副本会分散到集群不同的故障域内。同时Heketi还支持任意数量的ClusterFS集群。 提示: 阅读全文
posted @ 2019-11-22 18:34 木二 阅读 (148) 评论 (0) 编辑
摘要:一 deploymentPod升级和回滚 1.1 deployment升级 若Pod是通过Deployment创建的,可以在运行时修改Deployment的Pod定义(spec.template)或镜像名称,并应用到Deployment对象上,系统即可完成Deployment的自动更新操作。 如果在 阅读全文
posted @ 2019-11-22 12:15 木二 阅读 (111) 评论 (0) 编辑
摘要:一 Pod生命周期管理 1.1 Pod生命周期 Pod在整个生命周期过程中被系统定义了如下各种状态。 状态值 描述 Pending API Server已经创建该Pod,且Pod内还有一个或多个容器的镜像没有创建,包括正在下载镜像的过程。 Running Pod内所有容器均已创建,且至少有一个容器处 阅读全文
posted @ 2019-11-21 12:09 木二 阅读 (112) 评论 (0) 编辑
摘要:一 Pod定义详解 1.1 完整Pod定义文件 1 apiVersion: v1 #必选,版本号,例如v1,版本号必须可以用 kubectl api-versions 查询到 2 kind: Pod #必选,Pod 3 metadata: #必选,元数据 4 name: string #必选,Pod 阅读全文
posted @ 2019-11-20 11:55 木二 阅读 (124) 评论 (0) 编辑
摘要:一 修改配置文件 1.1 下载解压 1 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/ 2 [root@k8smaster01 kubernetes]# tar -xzvf kubernetes-src.tar.gz 提示:k8smaster01 阅读全文
posted @ 2019-11-19 11:47 木二 阅读 (181) 评论 (3) 编辑
摘要:一 修改配置文件 1.1 下载解压 1 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/ 2 [root@k8smaster01 kubernetes]# tar -xzvf kubernetes-src.tar.gz 提示:k8smaster01 阅读全文
posted @ 2019-11-19 11:08 木二 阅读 (49) 评论 (0) 编辑
摘要:一 验证集群功能1.1 检查节点状态 1 [root@k8smaster01 ~]# kubectl get nodes1.2 创建测试文件 1 [root@k8smaster01 ~]# cd /opt/k8s/work 2 [root@k8smaster01 work]# cat > nginx-ds.yml >> ${all_ip}" 5 ssh ${all_ip} "pin... 阅读全文
posted @ 2019-11-18 17:17 木二 阅读 (14) 评论 (0) 编辑
摘要:一 部署 kube-proxy kube-proxy 运行在所有节点上,它监听 apiserver 中 service 和 endpoint 的变化情况,创建路由规则以提供服务 IP 和负载均衡功能。 1.1 安装kube-proxy 提示:k8smaster01节点已下载相应二进制,可直接分发至n 阅读全文
posted @ 2019-11-18 17:10 木二 阅读 (109) 评论 (0) 编辑
摘要:一 部署 kubelet kubelet 运行在每个 worker 节点上,接收 kube-apiserver 发送的请求,管理 Pod 容器,执行交互式命令,如 exec、run、logs 等。 kubelet 启动时自动向 kube-apiserver 注册节点信息,内置的 cadvisor 统 阅读全文
posted @ 2019-11-18 11:08 木二 阅读 (147) 评论 (0) 编辑
摘要:一 部署docker1.1 部署docker组件docker 运行和管理容器,kubelet 通过 Container Runtime Interface (CRI) 与它进行交互。1.2 下载docker 1 [root@k8smaster01 ~]# cd /opt/k8s/work 2 [ro 阅读全文
posted @ 2019-11-18 10:51 木二 阅读 (36) 评论 (0) 编辑
摘要:一 Nginx代理实现kube-apiserver高可用 1.1 Nginx实现高可用 基于 nginx 代理的 kube-apiserver 高可用方案。 控制节点的 kube-controller-manager、kube-scheduler 是多实例部署,所以只要有一个实例正常,就可以保证高可 阅读全文
posted @ 2019-11-18 10:35 木二 阅读 (29) 评论 (0) 编辑
摘要:一 部署flannel 1.1 安装flannel kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通。flannel 使用 vxlan 技术为各节点创建一个可以互通的 Pod 网络,使用的端口为 UDP 8472。 flanneld 第一次启动时,从 e 阅读全文
posted @ 2019-11-17 23:54 木二 阅读 (143) 评论 (0) 编辑
摘要:一 部署高可用kube-scheduler 1.1 高可用kube-scheduler介绍 本实验部署一个三实例 kube-scheduler 的集群,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当 leader 节点不可用时,阻塞的节点将再次进行选举产生新的 lead 阅读全文
posted @ 2019-11-17 18:22 木二 阅读 (26) 评论 (0) 编辑
摘要:一 部署高可用kube-controller-manager 1.1 高可用kube-controller-manager介绍 本实验部署一个三实例 kube-controller-manager 的集群,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当 leader 节 阅读全文
posted @ 2019-11-17 13:17 木二 阅读 (78) 评论 (0) 编辑
摘要:一 部署master节点 1.1 master节点服务 kubernetes master 节点运行如下组件: kube-apiserver kube-scheduler kube-controller-manager kube-nginx kube-apiserver、kube-scheduler 阅读全文
posted @ 2019-11-16 21:03 木二 阅读 (113) 评论 (0) 编辑
摘要:一 Nginx代理实现kube-apiserver高可用 1.1 Nginx实现高可用 基于 nginx 代理的 kube-apiserver 高可用方案。 控制节点的 kube-controller-manager、kube-scheduler 是多实例部署,所以只要有一个实例正常,就可以保证高可 阅读全文
posted @ 2019-11-16 10:57 木二 阅读 (178) 评论 (0) 编辑
摘要:一 部署flannel 1.1 安装flannel kubernetes 要求集群内各节点(包括 master 节点)能通过 Pod 网段互联互通。flannel 使用 vxlan 技术为各节点创建一个可以互通的 Pod 网络,使用的端口为 UDP 8472。 flanneld 第一次启动时,从 e 阅读全文
posted @ 2019-11-15 20:14 木二 阅读 (152) 评论 (0) 编辑
摘要:一 部署ETCD集群 1.1 安装ETCD etcd 是基于 Raft 的分布式 key-value 存储系统,由 CoreOS 开发,常用于服务发现、共享配置以及并发控制(如 leader 选举、分布式锁等)。kubernetes 使用 etcd 存储所有运行数据。 1 etcd 是基于 Raft 阅读全文
posted @ 2019-11-15 11:24 木二 阅读 (193) 评论 (0) 编辑
摘要:一 部署 kubectl 1.1 安装kubectl 1 [root@k8smaster01 ~]# cd /opt/k8s/work 2 [root@k8smaster01 work]# wget https://dl.k8s.io/v1.14.2/kubernetes-client-linux- 阅读全文
posted @ 2019-11-15 11:18 木二 阅读 (62) 评论 (0) 编辑
摘要:一 创建CA证书和密钥 1.1 安装cfssl工具集 1 [root@k8smaster01 ~]# mkdir -p /opt/k8s/cert 2 3 [root@k8smaster01 ~]# curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd 阅读全文
posted @ 2019-11-15 11:11 木二 阅读 (45) 评论 (0) 编辑
摘要:一 前置准备1.1 前置条件相应的充足资源的Linux服务器;设置相应的主机名,参考命令: 1 hostnamectl set-hostname k8smaster Mac及UUID唯一;若未关闭防火墙则建议放通相应端口,如下:Master节点—— 规则方向端口范围作用使用者TCPInbound64 阅读全文
posted @ 2019-11-14 23:28 木二 阅读 (186) 评论 (0) 编辑
摘要:一 环境准备1.1 基础环境Kubernetes模式:单机版系统环境:CentOS 7/172.24.9.157部署方式:yum快速部署其他设置:开启NTP、关闭防火墙及SELinux二 部署过程2.1 安装软件 1 [root@k8s ~]# yum -y install etcd kuberne 阅读全文
posted @ 2019-11-14 15:32 木二 阅读 (110) 评论 (0) 编辑
摘要:一 数据库镜像部署准备 1.1 数据库镜像支持 有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/cc645993%28v%3dsq 阅读全文
posted @ 2019-07-16 13:03 木二 阅读 (323) 评论 (0) 编辑
摘要:一 AlwaysOn 可用性组 1.1 AlwaysOn 可用性组概述 AlwaysOn 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案。SQL Server 2012 中引入了 AlwaysOn 可用性组功能,此功能可最大程度地提高一组用户数据库对企业的可用性。 “可 阅读全文
posted @ 2019-07-16 11:57 木二 阅读 (162) 评论 (0) 编辑
摘要:一 WSFC 简介 1.1 WSFC 概述 “Windows Server 故障转移群集”(WSFC) 群集是一组独立的服务器,它们共同协作以提高应用程序和服务的可用性。SQL Server 2012 利用 WSFC 服务和功能支持 AlwaysOn 可用性组和 SQL Server 故障转移群集实 阅读全文
posted @ 2019-07-16 11:32 木二 阅读 (358) 评论 (0) 编辑
摘要:一 数据库镜像部署准备 1.1 数据库镜像支持 有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/cc645993%28v%3dsq 阅读全文
posted @ 2019-07-08 11:40 木二 阅读 (277) 评论 (2) 编辑
摘要:一 Kubernetes证书 1.1 TLS Kubernetes系统的各个组件需要使用TLS证书对其通信加密以及授权认证,建议在部署之前先生成相关的TLS证书。 1.2 CA证书创建方式 kubernetes 系统各个组件需要使用TLS证书对通信进行加密,通常可通过以下工具生产自建证书: open 阅读全文
posted @ 2019-07-02 13:25 木二 阅读 (150) 评论 (0) 编辑
摘要:一 ABAC 1.1 ABAC授权 基于属性的访问控制(ABAC)定义了访问控制范例,通过使用将属性组合在一起的策略向用户授予访问权限。 使用--authorization-policy-file=SOME_FILENAME和--authorization-mode=ABAC启用ABAC模式。 二 阅读全文
posted @ 2019-07-02 13:19 木二 阅读 (219) 评论 (0) 编辑
摘要:一 RBAC介绍1.1 RBAC授权基于角色的访问控制(RBAC)是一种基于个人用户的角色来管理对计算机或网络资源的访问的方法。RBAC使用rbac.authorization.k8s.io API组来推动授权决策,允许管理员通过Kubernetes API动态配置策略。使用--authorization-mode=RBAC开启RBAC授权模块功能。RBAC API定义了四个资源对象用于描述RBA... 阅读全文
posted @ 2019-07-01 10:57 木二 阅读 (190) 评论 (0) 编辑
摘要:一 Kubernetes访问 1.1 Kubernetes交互 与Kubernetes交互通常有kubectl、客户端(Dashboard)、REST API请求。 1.2 API访问流程 用户使用kubectl、客户端(Web)、或者REST请求访问API的时候,Kubernetes内部服务或外部 阅读全文
posted @ 2019-06-29 13:18 木二 阅读 (256) 评论 (0) 编辑
摘要:一 Kubernetes dashboard简介 1.1 Web UI简介 dashboard是基于Web的Kubernetes用户界面。可以使用dashboard将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,以及管理集群资源。可以使用dashboard来概述群集上运 阅读全文
posted @ 2019-06-25 13:39 木二 阅读 (709) 评论 (3) 编辑
摘要:一 kubeadm介绍 1.1 概述 Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令作为快速创建 kubernetes 集群的最佳实践。 kubeadm 通过执行必要的操作来启动和运行一个最小可用的集群。kubeadm 只关心启动集群,而不 阅读全文
posted @ 2019-06-19 12:11 木二 阅读 (315) 评论 (0) 编辑
摘要:一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具。Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kubernetes或日常开发的用户测试使用。特点是不能启动生产集群,没有高可用性的单节点机器。 使用Mini 阅读全文
posted @ 2019-06-18 11:23 木二 阅读 (381) 评论 (2) 编辑
摘要:一 读写分离概述 1.1 读写分离描述 从应用程序角度来看,使用Replica Set 和使用单台mongo很像。默认的驱动程序会连接primary节点,并且将所有读写请求都路由到主节点。但也可以通过设置驱动程序的Read Preferences 配置其他选项,将读请求路由到其他节点。 通常官网中建 阅读全文
posted @ 2019-06-17 19:33 木二 阅读 (212) 评论 (0) 编辑
摘要:一 MongoDB 监控 1.1 监控概述 MongoDB自带了mongostat 和 mongotop 这两个命令来监控MongoDB的运行情况。这两个命令用于处理MongoDB数据库变慢等等问题非常有用,能详细的统计MongoDB当前的状态信息。除此之外,还可以用db.serverStatus( 阅读全文
posted @ 2019-06-15 12:17 木二 阅读 (148) 评论 (0) 编辑