附015.Kubernetes其他技巧】的更多相关文章

一 优化镜像源 1.1 国内镜像源 global proxy in China format example dockerhub (docker.io) dockerhub.azk8s.cn dockerhub.azk8s.cn/<repo-name>/<image-name>:<version> dockerhub.azk8s.cn/microsoft/azure-cli:2.0.61 dockerhub.azk8s.cn/library/nginx:1.15 gcr…
Kubernetes全系列总结如下,后期不定期更新.欢迎基于学习.交流目的的转载和分享,禁止任何商业盗用,同时希望能带上原文出处,尊重ITer的成果,也是尊重知识.若发现任何错误或纰漏,留言反馈或右侧添加本人反馈. 正篇 001.Kubernetes简介 002.Kubernetes简单入门实例 003.Kubernetes二进制部署准备 004.Kubernetes二进制部署创建证书 005.Kubernetes二进制部署kubectl 006.Kubernetes二进制部署ETCD 007.…
一 Kubernetes dashboard简介 1.1 Web UI简介 dashboard是基于Web的Kubernetes用户界面.可以使用dashboard将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,以及管理集群资源.可以使用dashboard来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署.任务.守护进程等).可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序. dashboard还提供有关群集中Ku…
一 前期准备 1.1 基础知识 在Kubernetes中,使用GlusterFS文件系统,操作步骤通常是: 创建brick-->创建volume-->创建PV-->创建PVC-->Pod挂载PVC 如果要创建多个PV,则需要手动重复执行,可通过Heketi管理glusterfs. Heketi是用来管理GlusterFS卷的生命周期的,并提供了一个RESTful API接口供Kubernetes调用,因为GlusterFS没有提供API调用的方式,所以我们借助heketi.通过He…
一 glusterfs存储集群部署 注意:以下为简略步骤,详情参考<附009.Kubernetes永久存储之GlusterFS独立部署>. 1.1 架构示意 略 1.2 相关规划 主机 IP 磁盘 备注 k8smaster01 172.24.8.71 —— Kubernetes Master节点 Heketi主机 k8smaster02 172.24.8.72 —— Kubernetes Master节点 Heketi主机 k8smaster03 172.24.8.73 —— Kubernet…
一 glusterfs存储集群部署 注意:以下为简略步骤,详情参考<附009.Kubernetes永久存储之GlusterFS独立部署>. 1.1 架构示意 略 1.2 相关规划 主机 IP 磁盘 备注 k8smaster01 172.24.8.71 —— Kubernetes Master节点 Heketi主机 k8smaster02 172.24.8.72 —— Kubernetes Master节点 Heketi主机 k8smaster03 172.24.8.73 —— Kubernet…
一 前期准备 1.1 基础知识 Heketi提供了一个RESTful管理界面,可以用来管理GlusterFS卷的生命周期.Heketi会动态在集群内选择bricks构建所需的volumes,从而确保数据的副本会分散到集群不同的故障域内.同时Heketi还支持任意数量的ClusterFS集群. 提示:本实验基于glusterfs和Kubernetes分开部署,heketi管理glusterfs,Kubernetes使用heketi提供的API,从而实现glusterfs的永久存储,,而非Kuber…
一 Rook概述 1.1 Ceph简介 Ceph是一种高度可扩展的分布式存储解决方案,提供对象.文件和块存储.在每个存储节点上,将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进程.在Ceph集群上,还存在Ceph MON(监控)守护程序,它们确保Ceph集群保持高可用性. 更多Ceph介绍参考:https://www.cnblogs.com/itzgr/category/1382602.html 1.2 Rook简介 Rook 是一个开源的cloud-native sto…
一 Kubernetes访问 1.1 Kubernetes交互 与Kubernetes交互通常有kubectl.客户端(Dashboard).REST API请求. 1.2 API访问流程 用户使用kubectl.客户端(Web).或者REST请求访问API的时候,Kubernetes内部服务或外部访问都可获得授权来访问API.当一个请求达到API的时候,通常会经过以下阶段: 1.3 安装传输 通常在Kubernetes集群中,API在端口443上提供服务.且通常为自签名的证书,在$USER/.…
一 RBAC 1.1 RBAC授权 基于角色的访问控制(RBAC)是一种基于个人用户的角色来管理对计算机或网络资源的访问的方法. RBAC使用rbac.authorization.k8s.io API组来推动授权决策,允许管理员通过Kubernetes API动态配置策略. 使用--authorization-mode=RBAC开启RBAC授权模块功能. RBAC API定义了四个资源对象用于描述RBAC中用户和资源之间的连接权限: Role ClusterRole RoleBinding Cl…
一 Kubernetes证书 1.1 TLS Kubernetes系统的各个组件需要使用TLS证书对其通信加密以及授权认证,建议在部署之前先生成相关的TLS证书. 1.2 CA证书创建方式 kubernetes 系统各个组件需要使用TLS证书对通信进行加密,通常可通过以下工具生产自建证书: openssl cfssl easyrsa 1.3 Kubernetes组件证书 部署kubernetes组件建议使用TLS双向认证的,相关组件涉及的主要证书有: etcd证书:etcd集群之间通信加密使用的…
一 部署 kubelet kubelet 运行在每个 worker 节点上,接收 kube-apiserver 发送的请求,管理 Pod 容器,执行交互式命令,如 exec.run.logs 等. kubelet 启动时自动向 kube-apiserver 注册节点信息,内置的 cadvisor 统计和监控节点的资源使用情况. 为确保安全,部署时关闭了 kubelet 的非安全 http 端口,对请求进行认证和授权,拒绝未授权的访问(如 apiserver.heapster 的请求). 1.1…
一 ABAC 1.1 ABAC授权 基于属性的访问控制(ABAC)定义了访问控制范例,通过使用将属性组合在一起的策略向用户授予访问权限. 使用--authorization-policy-file=SOME_FILENAME和--authorization-mode=ABAC启用ABAC模式. 二 ABAC使用 2.1 策略文件格式 策略文件格式是每行一个JSON对象,每一行都是“策略对象”,其中每个这样的对象都是具有以下属性的映射: 版本控制属性: apiVersion:字符串类型,有效值为“…
目录 环境构建 基础环境构建 网络测试 安全策略 策略配置 策略测试 ingress方向测试 egress方向测试 to和from行为 默认策略 环境构建 基础环境构建 [root@master01 cksstudy]# vi studyns01.yaml apiVersion: v1 kind: Namespace metadata: name: studyns01 labels: role: studyns01 [root@master01 cksstudy]# vi studyns02.y…
蓝绿发布原理 蓝绿发布本质上是希望能优雅无误的迭代应用,以便于使应用平稳提供服务.通常是不停老版本的同时对新版本进行先发布,然后确认无误后进行流量切换,即并行部署. Kubernetes中可以通过deployment来部署一个蓝发布,然后通过控制service,来决定使用的版本.即通过label selector 将流量转发至对应的版本. 蓝绿发布实践 构建环境 基础Kubernetes环境 需要部署一个处于健壮状态的Kubernetes,部署Kubernetes可参考 Kubernetes_v…
笔者最近对scrapy的学习可谓如火如荼,虽然但是,即使是一整天地学习下来也会有中间两三个小时的"无效学习",不是笔者开小差,而是掉进了深坑出不来. 在此,给各位分享一下作为一名Scrapy框架的初学者,笔者在学习过程中遇到的各个大坑和小技巧吧. 1. user_agent 这个,在某些网站看来这无关要紧(比如笔者的网站-- 代码的边城 ),但对某些设定了反爬机制的网站来说,这是你的蜘蛛开门遇到的拦路虎.如果没有提前设定好这个参数,那你的蜘蛛连网站都进不去. 不仅网站进不去,而且它还不…
ubernetes 的节点可以按照节点的资源容量进行调度,默认情况下 Pod 能够使用节点全部可用容量.这样就会造成一个问题,因为节点自己通常运行了不少驱动 OS 和 Kubernetes 的系统守护进程.除非为这些系统守护进程留出资源,否则它们将与 Pod 争夺资源并导致节点资源短缺问题. 当我们在线上使用 Kubernetes 集群的时候,如果没有对节点配置正确的资源预留,我们可以考虑一个场景,由于某个应用无限制的使用节点的 CPU 资源,导致节点上 CPU 使用持续100%运行,而且压榨到…
高可用 前面我们课程中的集群是单 master 的集群,对于生产环境风险太大了,非常有必要做一个高可用的集群,这里的高可用主要是针对控制面板来说的,比如 kube-apiserver.etcd.kube-controller-manager.kube-scheduler 这几个组件,其中 kube-controller-manager 于 kube-scheduler 组件是 Kubernetes 集群自己去实现的高可用,当有多个组件存在的时候,会自动选择一个作为 Leader 提供服务,所以不…
更新证书 使用 kubeadm 安装 kubernetes 集群非常方便,但是也有一个比较烦人的问题就是默认的证书有效期只有一年时间,所以需要考虑证书升级的问题,本文的演示集群版本为 v1.16.2 版本,不保证下面的操作对其他版本也适用,在操作之前一定要先对证书目录进行备份,防止操作错误进行回滚.本文主要介绍两种方式来更新集群证书. 手动更新证书 由 kubeadm 生成的客户端证书默认只有一年有效期,我们可以通过 check-expiration 命令来检查证书是否过期: $ kubeadm…
有部分同学是使用的 Windows 系统,我们的直播课程也是在 Windows 系统下面进行的,然后通过 SSH 方式连接到 服务器上面操作 Kubernetes,由于对 vim 不是很熟悉,所以又通过 sftp 的方式在本地编写资源清单文件同步到服务器上面执行的,这个过程比较繁琐,效率不高.下面就来介绍下在 Windows 系统下面配置 kubectl 的实践方式,当然如果你是 Mac 或者 Linux,思路基本都是一致的. kubectl 配置 首先,下载 Windows 版本的 kubec…
一 kubeadm介绍 1.1 概述 参考<附003.Kubeadm部署Kubernetes>. 1.2 kubeadm功能 参考<附003.Kubeadm部署Kubernetes>. 二 部署规划 2.1 节点规划 节点主机名 IP 类型 运行服务 k8smaster01 172.24.8.71 Kubernetes master节点 docker.etcd.kube-apiserver.kube-scheduler.kube-controller-manager.kubectl…
一 创建CA证书和密钥 1.1 安装cfssl工具集 [root@k8smaster01 ~]# mkdir -p /opt/k8s/cert [root@k8smaster01 ~]# curl -L https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /opt/k8s/bin/cfssl #下载cfssl软件 [root@k8smaster01 ~]# curl -L https://pkg.cfssl.org/R1.2/cfssljson_lin…
一 修改配置文件 1.1 下载解压 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/ [root@k8smaster01 kubernetes]# tar -xzvf kubernetes-src.tar.gz 提示:k8smaster01节点已解压完毕,可直接修改配置. 1.2 修改配置 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/cluster/addons/dashboard [ro…
BASH的保护性编程技巧   shell常用逻辑判断 -b file 若文件存在且是一个块特殊文件,则为真 -c file 若文件存在且是一个字符特殊文件,则为真 -d file 若文件存在且是一个目录,则为真 -e file 若文件存在,则为真 -f file 若文件存在且是一个规则文件,则为真 -g file 若文件存在且设置了SGID位的值,则为真 -h file 若文件存在且为一个符合链接,则为真 -k file 若文件存在且设置了"sticky"位的值 -p file 若文件…
一 Kubernetes集群安全 1.1 安全机制 Kubernetes通过一系列机制来实现集群的安全控制,其中包括API Server的认证授权.准入控制机制及保护敏感信息的Secret机制等.集群的安全性主要有如下目标: 保证容器与其所在宿主机的隔离. 限制容器给基础设施或其他容器带来的干扰. 最小权限原则-合理限制所有组件的权限, 确保组件只执行它被授权的行为, 通过限制单个组件的能力来限制它的权限范围. 明确组件间边界的划分. 划分普通用户和管理员的角色. 在必要时允许将管理员权限赋给普…
一 K3S概述 1.1 K3S介绍 K3S是一个轻量级Kubernetes发行版.易于安装,内存消耗低,所有二进制文件不到40mb. 适用于: 边缘计算-Edge 物联网-IoT CI ARM 1.2 K3S特点 k3s是完全兼容的Kubernetes发行版,有以下更改: 移除过时的功能.Alpha功能.非默认功能,这些功能在大多数Kubernetes集群中已不可用. 删除内置插件(比如云供应商插件和存储插件),可用外部插件程序替换. 添加SQLite3作为默认的数据存储.etcd3仍然可用,但…
一 Helm部署 1.1 获取资源 [root@master01 ~]# mkdir ingress [root@master01 ~]# cd ingress/ [root@master01 ingress]# helm repo add traefik https://containous.github.io/traefik-helm-chart [root@master01 ingress]# helm repo update 1.2 配置traefik [root@master01 in…
kubeadm介绍 kubeadm概述 参考附003.Kubeadm部署Kubernetes. kubeadm功能 参考附003.Kubeadm部署Kubernetes. 本方案描述 本方案采用kubeadm部署Kubernetes 1.18.3版本: etcd采用混部方式: Keepalived:实现VIP高可用: Nginx:以Pod形式运行与Kubernetes之上,即in Kubernetes模式,提供反向代理至3个master 6443端口: 其他主要部署组件包括: Metrics:度…
一 手动部署-官网版 1.1 获取资源 [root@master01 ~]# mkdir ingress [root@master01 ~]# cd ingress/ [root@master01 ingress]# git clone https://github.com/nginxinc/kubernetes-ingress/ [root@master01 ingress]# cd kubernetes-ingress/deployments [root@master01 ingress]#…
一 Kubernetes dashboard简介 1.1 Web UI简介 dashboard是基于Web的Kubernetes用户界面.可以使用dashboard将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,以及管理集群资源.可以使用dashboard来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署.任务.守护进程等).可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序. dashboard还提供有关群集中Ku…