storageclass k8s k8 8s
41、K8S-网络机制之Flannel
1、网络基础 1.1、Pod接入网络的具体实现 1.1.1、虚拟网桥 虚拟网桥: brdige,用纯软件的方式实现一个虚拟网络,用一个虚拟网卡接入到我们虚拟网桥上去。这样就能保证 每一个容器和每一个pod都能有一个专用的网络接口,从而实现每一主机组件有网络接口。每一对网卡一半留 在pod之上一半留在 ......
40、K8S-安全机制-准入机制之LimitRanger、ResourceQuota、PodSecurityPolicy(PSP)
1、基础知识 1.1、准入机制 1.1.1、简介 所谓的"准入机制",指的是经过了 用户认证、角色授权之后,当进行一些写操作的时候,需要遵循的一些原 则性要求。准入机制有一大堆的 "准入控制器" 组成,这些准入控制器编译进 kube-apiserver 二进制文件,由集群管理员进行配置。 这些控制器 ......
39、K8S-安全机制-Dashboard认证之令牌、Kubeconfig文件
1、Dashboard 1.1、安装 请参考7、Dashboard部署:https://www.cnblogs.com/ygbh/p/17221496.html 1.2、确认dashboard正常访问 1.2.1、查询布署到哪个节点上 master1 ~]# kubectl get pods -n ......
38、K8S-安全机制-RBAC之(cluster)role、(cluster)rolebinding
1、RBAC 1.1、基本简介 1.1.1、简介 RBAC使用rbac.authorization.k8s.io API Group 来实现授权决策,允许管理员通过 KubernetesAPI 动态配置策略。 Kubernetes的基本特性就是它的所有资源对象都是模型化的 API 对象,我们可以基于 ......
「高频必考」Docker&K8S面试题和答案
DaemonSet是一个用于在每个节点上运行一个Pod的控制器。它可以用于运行一些需要在每个节点上运行的系统级别的服务,如日志收集、监控等。 ......
k8s常用命令
kubectl get pods --all-namespaces 查看 kubectl get deployment kubectl get nodes kubectl get services kubectl.exe apply -f .\hello-application.yaml --创建p ......
《做一个不背锅运维:一篇搞定K8s Ingress》
Ingress的出现 Ingress是一种Kubernetes资源,用于将外部流量路由到Kubernetes集群内的服务。与NodePort相比,它提供了更高级别的路由功能和负载平衡,可以根据HTTP请求的路径、主机名、HTTP方法等来路由流量。 因此,可以说Ingress是为了弥补NodePort ......
docker desktop k8s错误Unable to connect to the server: EOF
开启 Docker Desktop 的 Kubernetes 功能后运行正常,但在终端中使用 `kubectl` 命令依然会报错,这是什么原因呢... ......
37、K8S-安全机制-CA、User、Cluster
1、证书信息 1.1、简介 我们知道,通过kubeadm在创建集群的时候,其中有一步就是:生成kubernetes控制组件的kubeconfig文 件及相关的启动配置文件,通过各种conf文件,让不同的组件具备操作相关资源的权限。 1.2、位置 master1 ~]# ll /etc/kuberne ......
k8s部署redis集群(cluster模式)
参考:https://www.cnblogs.com/LiuChang-blog/p/15898005.html 一、redis集群部署(三主三从) 1.1yaml文件准备 (1) 配置文件说明 # 部署所在命名空间: redis-cluster [root@k8s-master1 ~]# cd / ......
k8s 中使用helm 安装zookeeper,kafka集群<三>
helm repo add bitnami https://charts.bitnami.com/bitnami helm repo update helm install kafka bitnami/kafka \ --set statefulset.replicaCount=1 \ --set ......
k8s 安装kibana<二>
vim kibana.yaml apiVersion: apps/v1 kind: Deployment metadata: name: kibana labels: app: kibana spec: selector: matchLabels: app: kibana template: met ......
k8s 安装3节点es集群<一>
vim es.yamlapiVersion: policy/v1beta1 kind: PodDisruptionBudget metadata: name: elasticsearch-pdb spec: selector: matchLabels: app: elasticsearch maxU ......
36、K8S-安全机制-ServiceAccount(SA)
1、基础知识 1.1、场景基础 1.1.1、应用场景 对于任何一种应用场景,其权限的认证管理都是非常重要的,对于linux系统来说,selinux、防火墙、 pam、sudo等等,其核心的目的都是为了保证我们的环境是一个安全的。 对于k8s的这种大型的任务编排系统来说,设计到的认证远远超出了一般平台 ......
使用kubeadm安装k8s 1.26版本
环境及版本信息 kubernetes: 1.26.0 容器运行时:containerd 1.6.19 虚拟机系统:centos 7.9 虚拟机内核版本:5.4.238-1.el7.elrepo.x86_64 在所有节点进行服务器设置 设置主机名 # master: hostnamectl set-h ......
k8s pod log日志不显示python print打印的内容
问题 Python 程序代码中使用 print() 打印的内容,在查询 k8s pod 日志时不显示。 原因 print() 函数 Python 的 print() 函数签名如下: print(*objects, sep=' ', end='\n', file=None, flush=False) ......
k8s资源例题
k8s资源例题 1.基于角色的访问控制-RBAC 创建一个名为 deployment-clusterrole 的 clusterrole,该 clusterrole 只允许对 Deployment、Daemonset、Statefulset 具有 create 权限,在现有的 namespace a ......
k8s-二进制安装
#安装前必读 本文档适用于k8s 1.17+ 安装说明: 本文章将演示CentOS 7二进制方式安装高可用k8s 1.17+,相对于其他版本,二进制安装方式并无太大区别,只需要区分每个组件版本的对应关系即可。 生产环境中,建议使用小版本大于5的Kubernetes版本,比如1.19.5以后的才可用于 ......
k8s服务发现(coredns)
一、在 Kubernetes 中,服务发现方式 基于环境变量的方式 基于内部域名的方式(dns) k8s 中的 pod 基于 service 域名解析后,再负载均衡分发到 service 后端的各个 pod 服务中,如果没有 DNS 解析,则无法查到各个服务对应的 service 服务 1、DNS服 ......
k8s的 Nginx Ingress 调优
内核参数调优 我们先看看通过内核的哪些参数能够提高Ingress的性能。保证在高并发环境下,发挥Ingress的最大性能。 调大全连接队列的大小 TCP 全连接队列的最大值取决于 somaxconn 和 backlog 之间的最小值,也就是 min(somaxconn, backlog)。在高并发环 ......
k8s搭建prometheus+grafana监控系统
安装git yum install git -y 登录github,查看kube-prometheus项目 https://github.com/prometheus-operator/kube-prometheus 查看kubenetes对应版本 拉取对应的kube-prometheus版本 gi ......
33、K8S-配置管理之Secret、DownwardAPI
1、secret 1.1、基础知识 1.1.1、Secret简介 secret volume为Pod提供加密的信息,相比于直接将敏感数据配置在Pod的定义或者镜像中,Secret提供 了更加安全的机制,将共享的数据进行加密,防止数据泄露。 Secret的对象需要单独定义并创建,然后以数据卷的形式挂载 ......
k8s informer源码解析
背景 informer是k8s client-go包里的一个模块,客户端可以通过它来感知事件的变化,而不用直接和apiserver交互,这样减轻了apiserver的负担。 组件介绍 它由以下几个组件组成: Reflector: 它会采用list/watch的方式获取资源事件,并把它们写入到fifo ......
k8s service原理
1. 为什么需要service Pod是非永久性资源,会动态创建和销毁,pod的ip会变化,而service会动态感知pod的变化,而对调用方无感知,调用方只需要访问固定的service name就可以动态地访问后端的pod。 实现这个功能不单只靠service这个组件,还需要kube-dns、en ......
32、K8S-配置管理之Configmap
1、基础知识 1.1、场景需求 生产中所有的应用程序中,都涉及到配置文件,而配置文件经常会有变更,比如数据库连接、代码版本号等. 最典型场景就是: 项目经历开发环境、测试环境、预发布环境、线上环境才能完成发布,而每个环境都有定义其独立的各种配 置,这些配置手工操作很繁杂,所以好多大公司专门开发了专用 ......
K8S学习笔记之卸载K8S集群
阅读目录 0x00 概述 0x01 操作 0x00 概述 有时候需要卸载已安装在本机的K8S服务和服务,本文卸载的K8S面向使用kubeadm或者二进制方法安装的,不涉及使用rpm包安装的集群; 主要使用kubeadm reset和删除指定文件的方法,卸载K8S集群。 0x01 操作 首先清理运行到 ......
基于国内环境搭建三节点的K8S
我的机器环境 10.2.22.103 k8s-master10.2.22.104 k8s-node110.2.22.105 k8s-node2 3台Ubuntu服务器配置为2核CPU,8GB内存 系统版本:20.04 前提条件:关闭swap sed -ri 's/.*swap.*/#&/' /etc ......
k8s-hpa
kubectl scale 对运行在k8s 环境中的pod 数量进行扩容(增加)或缩容(减小)。 HPA:(Horizontal Pod Autoscaler)Pod自动弹性伸缩,K8S通过对Pod中运行的容器各项指标(CPU占用、内存占用、网络请求量)的检测,实现对Pod实例个数的动态新增和减少。 ......
k8s-pv/pvc
默认情况下容器中的磁盘文件是非持久化的,对于运行在容器中的应用来说面临两个问题, 第一:当容器挂掉kubelet将重启启动它时,文件将会丢失; 第二:当Pod中同时运行多个容器,容器之间需要共享文件时,Kubernetes的Volume解决了这两个问题。 PV/PVC PersistentVolum ......