kubernetes
清欢渡.
这个作者很懒,什么都没留下…
展开
-
K8s Master节点高可用集群搭建
Kubernetes 高可用集群高可用集群概念高可用集群搭建一、节点准备环境二、上传所需要的 master节点组件 镜像文件三、修改 HAproxy,keepalived文件四、初始化集群主从master五、安装 flannel 插件六、重新加载 HAproxyflannel 报错解决方法如下:报错信息:Error registering network: failed to acquire lease: node "k8s-master-1" pod cidr not assigned报错如下图:Pod原创 2020-07-03 22:12:54 · 6978 阅读 · 2 评论 -
k8s高可用集群 kube-flannel报错,从running-error-CrashLoopBackOff。node“k8s-master-1“podcidr not assigned
flannel 报错,朋友别着急,慢慢来,看看能不能帮到你报错信息:Error registering network: failed to acquire lease: node “k8s-master-1” pod cidr not assigned报错如下图:Pod 日志如下图:报错原因/解决报错方法:1.安装Kubeadm Init的时候,没有增加 --pod-network-cidr 10.244.0.0/16参数注意,安装Flannel时,kubectl create -原创 2020-07-03 21:36:21 · 5808 阅读 · 4 评论 -
kubernetes集群-Master节点升级-kubeadm,kubectl,kubelet升级
kubernetes - Master单节点升级kubeadm 升级kubelet 升级kubectl 升级生产环境注意事项:由于 kubeadm upgrade 不会升级 etcd,请确保已对其进行了备份。例如,您可以使用 etcdctl backup 命令完成这个工作。请注意,kubeadm upgrade 只会升级 Kubernetes 内建(Kubernetes-internal)组件,不会触及任何工作负载。作为最佳实践,您应该备份所有重要数据。例如任何应用层级的状态数据,如应用可能依原创 2020-07-03 16:13:26 · 2182 阅读 · 0 评论 -
Kubernetes Helm3.2.4安装部署
Kubernetes Helm什么是 HelmHelm 组件Helm 部署一、安装 Helm 3.2.4二、常用 chart 源①、初始化 chart 源仓库②、查找想要安装的软件程序③、安装一个 Helm 应用例:安装一个 Nginx 应用④、查看helm 生成应用、卸载应用什么是 Helm在没有使用 helm 之前,在 kubernetes 部署应用,需要依次部署 deployment、SVC 等步骤较为繁琐。况且,随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm通过打包原创 2020-07-02 16:48:43 · 1857 阅读 · 0 评论 -
Kubernetes - HPA自动伸缩、resources资源限制
Kubernetes - HPA自动伸缩、resources资源限制HPA-example 自动伸缩(测试版)一、测试 HPA 基于 CPU 的自动伸缩1、运行 hpa-example,并设置 CPU 最大资源限制200m2、创建HPA控制器3、增加 CPU 负载,查看负载节点数目二、测试 HPA 基于内存(memory)的自动伸缩1.创建一个nginx的pod2.验证nginx是否运行3.创建一个 HPA 控制器4.压测nginx的内存,hpa会对pod自动扩缩容5.取消对nginx内存的压测,hpa会对原创 2020-07-02 16:41:55 · 3129 阅读 · 0 评论 -
kubernetes prometheus基础安装
kubernetes prometheus 安装一、组件说明二、安装部署 prometheus1、修改 grafana-service.yaml,使用 nodepode 方式访问 grafana2、修改 prometheus-service.yaml,改为 nodeport3、修改 alertmanager-service.yaml ,改为 nodeport4、制作、导入 prometheus 镜像5、执行 kube-prometheus 目录下的 yaml 文件6、访问 prometheus 页面,可以.原创 2020-07-01 21:36:25 · 2179 阅读 · 1 评论 -
kubernetes Helm-dashboard搭建
kubernetes dashboardHelm 安装部署 dashboard一、下载 dashborad - helm 到本地二、node节点下载 阿里云的 dashboard 镜像三、自定义 dashboard.yaml 文件替代 values.yaml四、执行 dashboard - Helm五、访问 web-UIdashboard 权限不够一、创建 ServiceAccount(SA)二、将 SA(dashboard-admin)绑定给 dashboard-cluster-admin用户原创 2020-07-01 09:31:13 · 1388 阅读 · 0 评论 -
K8S Helm 搭建 dashboard token验证出现 Not Found (404)
报错:直接上图原因:k8s-gcr-kubernetes-dashboard-amd64:v1.10.1 的镜像版本过低解决方法:下载最新版本的 dashboard :docker pull registry.cn-hangzhou.aliyuncs.com/kubeapps/k8s-gcr-kubernetes-dashboard-amd64:v1.8.3别忘了修改 values.yam 配置文件...原创 2020-06-26 20:37:05 · 2783 阅读 · 2 评论 -
3.2.4版本 Helm 常用命令
Helm 常用命令查找要安装应用的信息helm search repo 程序名helm search repo nginx安装一个 helm 应用helm install 自定义应用名 chart库文件名helm Install nginx aliyuncs/nginx卸载一个应用helm uninstall 应用名helm uninstall nginx查看集群中 helm 应用的详细信息helm listrelease原创 2020-06-26 12:02:41 · 4129 阅读 · 0 评论 -
Kubernetes 3.2.4 Helm安装使用方法,部署一个简单的应用
Kubernetes Helm什么是 HelmHelm 组件Helm 部署一、安装 Helm 3.2.4版本二、常用 chart 源①、初始化 chart 源仓库Helm官网 chart 仓库②、查找想要安装的软件程序③、部署 Helm 应用例:安装一个 Nginx 应用④、查看helm 生成应用、卸载应用什么是 Helm在没有使用 helm 之前,在 kubernetes 部署应用,需要依次部署 deployment、SVC 等步骤较为繁琐。况且,随着很多项目微服务化,复杂的应用在容器中部署以及管理原创 2020-06-25 18:03:22 · 1946 阅读 · 0 评论 -
Kubernetes 集群安全- Authorization鉴权,RBAC授权方法,RBAC实例
个人学习记录Kubernetes 集群安全 - 机制说明Authorization 鉴权RBAC 授权模式RBAC 的 API 资源对象说明一、Verbs 动作二、apiGroups API接口组三、JOSN 证书Role and ClusterRole一、Role二、ClusterRoleRoleBinding and ClusterRoleBinding一、Role - RoleBinding二、ClusterRole - RoleBinding三、ClusterRole - ClusterRoleB原创 2020-06-24 13:41:35 · 2030 阅读 · 0 评论 -
kubernetes Scheduler 调度器,nodeName调度,nodeSelector调度
kubernetes Scheduler 调度器Scheduler定义Scheduler调度过程Ⅰ、predicate 预选算法:Ⅱ、priorities 优选选项:Ⅲ、自定义调度器固定节点调度 NodeNameNodeSelector 节点标签固定调度Pod 节点扩容Scheduler定义Scheduler 是 kubernetes 的调度器,主要的任务是把定义的Pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:公平:如何保证每个节点都能被分配资源资源高效利用:集群所有资源最大化原创 2020-06-23 11:46:30 · 1424 阅读 · 2 评论 -
kubernetes Taint 、Toleration污点、容忍
kubernetes Taint 、Toleration定义污点 (Taint)Ⅰ、污点 (Taint) 的组成Ⅱ、污点的设置,查看,删除1.设置污点2.查看污点 Taints 字段3.删除污点容忍 (Tolerations)Tolerations 案例:多个 Master 存在时,防止资源浪费,可以如下设置定义Affinity 节点亲和性,是 pod 的一种属性(偏好或硬件要求),它使 pod 被吸引到一类特定的节点。Taint 污点 则相反,它使节点能够排斥一类特定的 Pod。Taint 和.原创 2020-06-23 11:39:16 · 438 阅读 · 0 评论 -
kubernetes Affinity亲和性
kubernetes Affinity 亲和性亲和性/反亲和性调度策略调度策略匹配标签操作符拓扑域支持调度目标nodeAffinity主机In、NotIn、Exists、DoesNotExist、Gt、Lt否指定主机podAffinityPodIn、NotIn、Exists、DoesNotExist是Pod 与指定 Pod 在同一个拓扑域podAnitAffinityPodIn、NotIn、Exists、DoesNotExist是Pod 与原创 2020-06-23 01:01:13 · 492 阅读 · 0 评论 -
kubernetes Volume 个人学习记录
kubernetes Volume这里写目录标题问题背景卷的类型emptyDiremptyDir 的用法:一、挂载空卷HostPathhostPath 的用途如下:Pod 持久化操作用到 Volume问题容器磁盘上的文件生命周期是短暂的,这就使得容器在运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失,容器会以最初的状态重启。其次,在 Pod 中运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中 volume 抽象就很好解决原创 2020-06-17 19:13:39 · 169 阅读 · 0 评论 -
kubernetes Secret 使用方法,个人学习记录
kubernetes Secret Secret 有三种类型:Service Account(SA)Opaque SecretⅠ、创建说明Ⅱ、使用方法1、将定义好的 Secret 挂载到 Volume 数据卷中2、将 Secret 导出到环境变量中kubernetes.io/dockerconfigjson 私有仓库认证 secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Sepc 中。 Secret 可以以 Volume 或者环境变量的方式使用原创 2020-06-17 10:21:07 · 493 阅读 · 0 评论 -
kubernetes - ConfigMap使用方法,个人学习记录
kubernetes - configMapconfigMap的创建一、使用目录(包含多文件)创建二、使用单独文件创建三、使用字面值创建Pod 中 ConfigMap一、使用 ConfigMap 键值对来替代环境变量二、用 ConfigMap 设置命令行参数三、通过数据卷插件使用 ConfigMapConfigMap 实战,热更新ConfigMap 更新后触发滚动更新 PodConfigMap 功能在 kubernetes1.2版本中引入,许多应用程序会从配置文件、命令行参数或者环境变量中读取配置信息原创 2020-06-16 18:19:05 · 495 阅读 · 0 评论 -
kubernetes Server-Ingress-Nginx使用方法,Auth、URL重定向、等基础域名负载使用方法
kubernetes Server-Ingress-Nginx个人学习记录kubernetes Server-Ingress-Nginx一、安装 Ingress二、创建后端 Service - Deployment - Pod三、通过 Ingress 7 层代理,将内部的 Service - Deployment - Pod 暴露外网,根据域名访问四、Ingress 代理两个web集群服务,提供两个域名反代Service - Deployment - Pod - NginxService - Deploy原创 2020-06-16 12:32:15 · 4294 阅读 · 0 评论 -
kubernetes Service(SVC)几种4层代理的不同用法,ClusterIP、Headless、NodePort、LoadBalancer
kubernetes Service(SVC)个人学习记录kubernetes Service(SVC)service 概念service 类型SVC 访问流程组件VIP 和 Service 代理代理模式分类Ⅰ、userspace 代理模式Ⅱ、Iptables 代理模式Ⅲ、ipvs 代理模式ipvs 对比 iptablesCluster IP( service 的暴露IP,提供内部负载均衡 )Headless Service(DNS解析)NodePort (将内部暴露外部)LoadBalancer(从内部原创 2020-06-15 17:57:48 · 6195 阅读 · 1 评论 -
kubernetes 控制器使用方法,RS,Deployment,DaemonSet,Job,CronJob
kubernetes 控制器使用方法个人学习记录kubernetes 控制器使用方法一、ReplicaSet(RS)二、Deployment1、deployment - 扩容2、deployment - 滚动更新3、deployment - 版本回滚三、DaemonSet四、Job五、CronJobcronJob.Spec 参数注意事项模板一、ReplicaSet(RS)创建 RS控制器的三个副本,修改标签后查看效果apiVersion: apps/v1 #1.9版本Api接口kind: R原创 2020-06-14 14:47:09 · 534 阅读 · 0 评论 -
K8S报错error validating data: ValidationError(Deployment.spec): missing required field selector
报错如下这是我在执行 deployment控制器的Pod副本时出现的报错,报错意思:部署验证错误,在deploymentspec模块中必须指定 selector参数。原YAML文件在 Deployment.spec 模块中,只指定了 replicas 副本数量,还需要指定副本标签与 Deployment控制器进行匹配apiVersion: apps/v1 #Api接口版本kind: Deployment #定义控制器metadata: name: nginx-原创 2020-06-14 10:40:30 · 36995 阅读 · 2 评论 -
K8S1.8.3报错 no matches for kind ReplicaSet in version extensions_v1beta1
原来的yaml资源清单如下:apiVersion: extensions/v1beta1kind: ReplicaSet #RS控制器metadata: #元数据信息 name: frontend #RS控制器名称spec: #详细参数 replicas: 3 #设置三个副本 selector: #选择标签 ......以下省略,看第一行即可运行时报错解决方法vim *.yaml 将 apiVersion原创 2020-06-14 10:03:52 · 3416 阅读 · 0 评论 -
kubernetes 资源控制器基础原理
kubernetes 资源控制器个人学习记录kubernetes 资源控制器Pod分类什么是控制器控制器类型控制器程序总结ReplicationController 和 ReplicaSetDeployment(常用)DaemonSetJob(脚本)CronJob(脚本)StatefulSetHorizontal Pod Autoscaling(HPA)Pod分类自主式Pod:Pod 退出后,此类型的 Pod 不会被二次创建控制器Pod:在控制器的生命周期了,始终要维持 Pod 的副本数目,企业常用原创 2020-06-14 08:56:06 · 250 阅读 · 0 评论 -
kubernetes资源清单 - initC,探针检测
kubernetes资源清单 - initC个人学习记录kubernetes资源清单 - initCInit 容器与普通容器的区别:Init 容器作用一、 Init 容器模板探针探针结果:探测方式:二、检测探针-就绪检测readinessProbe-httpget三、检测探针 -存活检测1、livenessProbe - exec2、livenessProbe-httpget3、livenessProbe-tcp4、合并 livenessProbe + readinessProbe 的探测四、启动、退出动原创 2020-06-13 20:20:27 · 369 阅读 · 0 评论 -
Pod基础详解,个人学习记录
Pod基础知识Pod 内容器端口不能冲突一、Pod概述kubernetes并不是直接调度容器,调度的目标称为pod。pod可以理解为容器的外壳,给容器做了一层抽象的封装。pod成为kubernetes上最小的调度逻辑单元,pod内部主要用来放容器,一个pod内可以包含多个容器。多个容器共享底层同一个网络名称空间、net、uts、ITC。实现容器间通信同一个pod容器内共享存储卷,一个pod空间内的容器可以使用一个存储卷。一般来说一个pod内只会放一个容器。如果有多个容器,其中一个会是主容器,原创 2020-06-13 10:09:46 · 1578 阅读 · 0 评论 -
kubernetes基础知识,个人学习记录
kubernetes 基础这里写目录标题kubernetes 基础安装测试最新版本Cloud Native Apps 云源生Serverless 无服务器应用逻辑FaaS 函数级服务kubernetes的定义kubernetes容器编排系统一、背景:微服务编排系统:产生问题:如果服务的需要的环境互不相同,不能满足怎么办?结果:由服务编排系统变成了容器编排系统二、容器编排系统提供的特点、功能三、容器编排系统工具kubernetes 集群节点、物理结构kubernetes定义集群节点定义ClusterMa原创 2020-06-13 08:52:39 · 1055 阅读 · 1 评论 -
Kubernetes集群1.18.3版本安装搭建
Kubernetes集群安装一步步来,绝对无坑Kubernetes集群安装一、docker前期准备1、修改主机名:hostnamectl set-hostname k8s-master /k8s-nodes1 / k8s-nodes22、修改域名文件:vim /etc/hosts3、安装docker4、下载加速器二、kubernetes前期准备1、配置kubernetes阿里源2、安装kubernetes组件3、升级内核4、kubernetes必备前提条件5、关闭防火墙如果不关闭防火墙,请放下以原创 2020-06-03 10:02:22 · 1757 阅读 · 1 评论 -
1.18.3K8S安装raw.githubusercontent.com无法连接问题
搭建K8S集群安装flannel插件遇到无法连接flannel插件下载地址问题原因:因为github的域名服务器在大陆没有,最近的是香港服务器,所以无法连接解决方法:通过域名查询网站,获取香港服务器的IP地址域名查询网站:https://site.ip138.com/raw.githubusercontent.com输入raw.githubusercontent.com查询IP地址编辑 vim /etc/hosts 文件输入如下内容...原创 2020-06-03 09:44:21 · 1058 阅读 · 0 评论 -
1.18.3K8S提示:Init:ImagePullBackOff报错
集群搭建好后,输出查看命令查看kube组件是否搭建成功kubectl get pod --all-namespaceskubectl get pod -n kube-system出现了如下图的:Init:ImagePullBackOff 错误问题原因查看yaml文件的默认写法,找到image,发现镜像名称是 flannel:v0.12.0-amd64然后查看一下本地镜像,是否存在该flannel镜像。发现版本名称并不相同解决方法下载匹配的镜像 docker pull quay.io/原创 2020-06-03 09:35:44 · 10886 阅读 · 0 评论