kubernetes
文章平均质量分 77
Mlul392
这个作者很懒,什么都没留下…
展开
-
kubernetes 高可用集群
实验环境主机名IP角色dockerharbork8s1k8s2k8s3k8s4k8s5k8s6。原创 2023-11-17 18:34:45 · 426 阅读 · 0 评论 -
kubernetes istio
一、部署提前准备好文件给命名空间添加标签,指示 Istio 在部署应用的时候,自动注入 Envoy 边车代理。原创 2023-11-10 21:58:43 · 353 阅读 · 0 评论 -
kubernetes etcd
目录一、备份二、回复官网: https://v1-25.docs.kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#restoring-an-etcd-cluster输入ctrl+pq快捷键,把容器打入后台 删除容器 拷贝认证文件等:备份 查看快照状态删除集群资源移除yaml文件后对应容器自动停止拷贝文件及命令从快照恢复重启所有组件 yaml文件移动回来后容原创 2023-11-10 21:38:20 · 311 阅读 · 0 评论 -
kubernetes prometheus监控
一、部署prometheus清理镜像方便后面一次性上传部署项目 使用yml文件helm安装创建namespace访问:prometheus监控页面访问grafana监控页面默认用户/密码: admin/在import里边加载13105模板汉化。原创 2023-11-10 21:16:28 · 99 阅读 · 0 评论 -
k8s删除 Terminating 状态的namespace
1、使用 --force 参数强制删除 这种方法一般情况下是有效的。但在ns长时间处于Terminating的时候也会失效。--grace-period 表示删除 Pod 前可以有几秒的处理时间,设置为负数时会被忽略,设置为 1 说明要立即删除。只有加上 --force 参数时才可以设置为 0,表示立刻强制删除。删除namespace中的所以pod等。2、导出ns的json文件。原创 2023-11-10 20:44:01 · 610 阅读 · 0 评论 -
kubernetes helm
打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。后不用需要编写复杂的应用部署文件,可以以简单的方式在。可以在你部署应用的时候自定义应用程序的一些。Charts,类似Linux系统的yum。helm部署metrics-server。Metadata,以便于应用程序的分发。上查找、安装、升级、回滚、卸载应用程序。helm部署ingress-nginx。helm部署storageclass。应用的包管理工具,主要用来管理。对于应用发布者而言,可以通过。helm push插件。添加第三方repo源。原创 2023-11-08 20:12:07 · 87 阅读 · 0 评论 -
kubernetes资源监控
Metrics-server属于Core metrics(核心指标),提供API metrics.k8s.io,仅提供Node和Pod的CPU和内存使用情况。一个容器申请0.5个CPU,就相当于申请1个CPU的一半,你也可以加个后缀m 表示千分之一的概念。比如说100m的CPU,100豪的CPU和0.1个CPU都是一样的。如果一个容器超过其内存请求,那么当节点内存不足时,它的 Pod 可能被逐出。即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。CPU 的单位是核心数,内存的单位是字节。原创 2023-11-08 19:36:25 · 78 阅读 · 0 评论 -
kubernetes 认证授权
一、kubernetes API访问控制Authentication(认证认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 ClientCerts和ServiceAccoutTokens两种认证方式。Kubernetes集群有两类用户:由Kubernetes管理的ServiceAccounts (服务账户)和(UsersAccounts) 普通账户。k8s中账号的概念不是我们理解的账号,它并不真的存在,它只是形式上存在。原创 2023-11-08 18:15:33 · 79 阅读 · 0 评论 -
kubernetes-调度
默认策略可以参考:https://kubernetes.io/zhkube调度框架:https://kubernetes.io/zh调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。原创 2023-11-07 19:52:51 · 227 阅读 · 1 评论 -
kubernetes存储-volumes
1.容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题。首先当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失因为容器会以干净的状态重建。其次当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。Kubernetes 抽象出 Volume 对象来解决这两个问题。2.Kubernetes 卷具有明确的生命周期,与包裹它的 Pod 相同。因此,卷比 Pod 中运行的任何容器的存活期都长,在容器重新启动时数据也会得到保留。原创 2023-11-07 19:26:30 · 87 阅读 · 0 评论 -
kubernetes存储-configmap
使用configmap设置环境变量。使用conigmap设置命令行参数。通过数据卷使用configmap。configmap热更新。通过yaml文件创建。原创 2023-11-01 23:06:45 · 177 阅读 · 0 评论 -
kubernetes存储-secrets
存储docker registry的认证信息。将Secret挂载到Volume中。向指定路径映射 secret 密钥。将Secret设置为环境变量。原创 2023-11-01 23:08:54 · 413 阅读 · 0 评论 -
Kubernetes-网络插件
Flannel是一种Kubernetes网络插件,它可以为Kubernetes集群提供网络通信能力。Flannel使用虚拟网络层来创建整个集群的单一网络。在Flannel中,每个节点都有一个子网,节点之间的通信是通过路由转发完成的。Flannel可以使用不同的后端(例如UDP、VXLAN或AWS VPC)来创建虚拟网络,为Kubernetes的网络提供可靠而高效的通信方式。Flannel还提供多种IP自动分配方案,从而可以简化节点配置和管理。给测试pod添加指定标签后,可以访问。flannel网络插件。原创 2023-11-01 23:04:07 · 902 阅读 · 1 评论 -
kubernetes-ingress-nginx
基于header的灰度是其中一种实现方式,即通过在HTTP请求的头部添加特定标记,然后在应用程序中处理该标记,以区分是否将请求路由到新版本或旧版本的应用程序中。通过这种方式,可以以逐渐增加的百分比向用户推送新版本,并在推送完成后逐步停止旧版本的支持。基于权重的灰度发布是Canary发布的一种变体,其中不同用户组被分配不同的权重,以控制他们接收新代码版本的比例。例如,较新和更有经验的用户可以分配较高的权重,以测试新功能和修复问题,而较少用到的或新购买的用户可以分配较低的权重,以减少潜在的影响。原创 2023-11-01 21:42:19 · 231 阅读 · 0 评论 -
kubernetes-service微服务
在Kubernetes集群中,Service是一个抽象的概念,它为Pod提供了一个统一的入口,使得Pod可以被其他Pod或外部网络访问到。Kubernetes Service 的 ExternalName 类型是一种非常简单的服务类型,它允许 Kubernetes 集群中的服务通过一个 DNS CNAME 来引用一个外部的服务。使用 ExternalName 类型的服务,可以方便地将 Kubernetes 集群中的应用程序连接到集群外的服务,同时还可以使用 Kubernetes 的负载均衡和服务发现功能。原创 2023-11-01 18:15:37 · 663 阅读 · 1 评论 -
kubernetes-控制器
一、replicasetReplicaSet用于保证指定数量的 Pod 副本一直运行replicaset是通过标签匹配podreplicaset自动控制副本数量,pod可以自愈回收资源二、deploymentDeployment 的主要作用是实现应用程序的无缝升级和回滚1、版本迭代replicaset就是deployment的一个版本2、回滚3、滚动更新策略4、暂停与恢复暂停,避免触发不必要的线上更新调整副本数,不受影响但是更新镜像和修改资源并没有触发更新恢复后开始触发更新回收三、原创 2023-10-31 23:25:34 · 1136 阅读 · 10 评论 -
Kubernetes的pod管理
此时,这些容器会尽力地获取集群中未被占用的资源,但是它们的资源使用是无法保证的,因为它们需要等待集群中已分配的所有资源使用完毕才能够获得更多的资源。此时,如果资源满足所有 Guaranteed 类别的 Pod 的需求,则这些 Pod 会被同时调度在集群中,保证它们的运行。此时,如果资源足够,那么这些 Pod 会被相应地调度,但是它们的性能可能会受到限制,因为它们能够使用的资源是有上限的。的使用,在linux上使用vim或者vi命令编辑yml文件的时候,会自动缩进,导致文件根本 无法使用。原创 2023-10-31 00:17:12 · 349 阅读 · 0 评论 -
k8s集群升级
k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用docker。k8s从1.24版本开始移除了dockershim,所以我们不在使用docker,选用。禁用所有节点docker和cri-docker服务。1. 部署cri-docker (所有集群节点)修改节点套接字 #需要在master节点执行。解除节点保护 #需要在master节点执行。配置kubelet使用cri-docker。配置kubelet使用cri-docker。升级kubeadm 执行升级。原创 2023-10-29 23:43:24 · 254 阅读 · 0 评论 -
k8s 集群部署
所有节点禁用swap,注意注释掉/etc/fstab文件中的定义。所有节点同步docker配置,以及拷贝harbor仓库的证书。当前节点还没有就绪,是因为没有安装网路插件,pod还没运行。禁用swap,注意注释掉/etc/fstab文件中的定义。确保所有k8s节点可以从私有仓库下载镜像。master,k8s集群控制节点。2. 所有节点安装kubeadm。所有节点安装docker-ce。所有节点安装docker-ce。node,k8s集群工作节点。node,k8s集群工作节点。原创 2023-10-29 21:11:39 · 299 阅读 · 0 评论