运维开发 使用 etcdhelper 查看 k8s 中 etcd 的数据 etcdhelper 是一个用于与 etcd 交互的辅助工具,可以通过该工具查看 k8s 集群中 etcd 的数据。 首先,如果在其他机器执行,需要拷贝 k8s 集群的 etcd 证书,目录为 /etc/kubernetes/pki/etcd/。 然后运行如下命令即可查看所有数据: docker run -it --rm \ -v /etc/kubernetes/pki/etcd/:/etc/ku...
运维开发 CRI 客户端 crictl 的基本使用 简介 首先要知道 crictl 是什么,之前有了解过 containerd 和 ctr,详见这篇文章 Containerd 的安装和基本使用。 ctr 是 containerd 自带的 CLI 命令行工具,crictl 是 k8s 中 CRI(容器运行时接口)的客户端,k8s 使用该客户端和 containerd 进行交互。 常用命令 1. 镜像相关 1.1 查看镜像 crictl image/i...
运维开发 Docker 安装 minikube 学习 k8s 如果你本地机器配置不够搭建 k8s,那么你可以尝试使用 minikube 来学习 k8s。minikube 是一个能让你在本地运行 Kubernetes 的工具,minikube 在你的个人计算机(包括 Windows、macOS 和 Linux)上运行一个一体化(all-in-one) 或多节点的本地 Kubernetes 集群。 1. 安装minikube minikube 的安装非常简单,直...
运维开发 Docker 搭建 etcd 单实例并使用图形界面进行访问 一、etcd 了解 阿蛮君最近在学习 k8s 相关的内容,了解到 etcd 是 k8s 一大重要的组件,所以来了解下相关的内容和使用。 etcd 是一个分布式、可靠的键值存储,可用于分布式系统中存储关键核心数据。可以发现,etcd 归根结底是一个存储组件,且可以实现配置共享和服务发现。在分布式系统中,各种服务配置信息的管理共享和服务发现是一个很基本也是很重要的问题,无论调用服务还是调度容器,都需要...
运维开发 k8s 创建 serviceAccount 并测试其权限 什么是 serviceAccount 顾名思义,相对于userAccount(比如:kubectl访问APIServer时用的就是userAccount),serviceAccount 就是 Pod 中的 Process 用于访问 Kubernetes API的 account,它为 Pod 中的进程提供了一种身份标识。相比于 userAccount 的全局性权限,serviceAccount 更...
运维开发 k8s 创建可视化管理面板 dashboard kubernetes 开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。 本次安装的环境:k8s 集群版本为 v1.25,dashboard 的版本是 v2.7.0。 1. 下载 yaml 文件 wget https://raw.githubusercontent.com/...
运维开发 k8s 手动管理 ServiceAccount 的 Secret v1.22 之前的 Kubernetes 版本会自动创建凭据访问 Kubernetes API。 这种更老的机制基于先创建令牌 Secret,然后将其挂载到正运行的 Pod 中。 而更新的版本的 K8s 则不会直接创建,使用kubectl describe sa xx命令可以看见 Tokens 的值为 none,此时需要进行手动创建 Sercet。 假设现在有一个名为 test 的 service...
运维开发 k8s双向证书认证实战-创建基于rbac认证的角色并绑定用户 一、认证管理 kubernetes集群安全的关键点在于如何识别并认证客户端身份,它提供了3种客户端身份认证方式: 1. HTTP Base认证 通过用户名+密码的方式进行认证。 这种方式是把“用户名:密码”用BASE64算法进行编码后的字符串放在HTTP请求中的Header的Authorization域里面发送给服务端。服务端收到后进行解码,获取用户名和密码,然后进行用户身份认证的过程。 2. H...
运维开发 K8s 存储详解-包括pv、pvc、confmap、secret 一、基本存储 1 EmptyDir EmptyDir是最基础的Volume类型,一个EmptyDir就是Host上的一个空目录。 EmptyDir是在Pod被分配到Node时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为kubernetes会自动分配一个目录,当Pod销毁时, EmptyDir中的数据也会被永久删除。 EmptyDir用途如下: 临时空间,例如用于某些应用程序运...
运维开发 K8s 常用控制器详解 - ReplicationController:比较原始的pod控制器,已经被废弃,由ReplicaSet替代 - ReplicaSet:保证副本数量一直维持在期望值,并支持pod数量扩缩容,镜像版本升级 - Deployment:通过控制ReplicaSet来控制Pod,并支持滚动升级、回退版本 - Horizontal Pod Autoscaler:可以根据集群负载自动水平调整Pod的数量,实...
运维开发 kubernetes 之 sealos 搭建高可用集群 kubernetes 之 sealos 搭建高可用集群 如图所示,kuernetes组件组件主要可分为APISERVICE、replication CrontrollerManger、Scheduler、ETCD、Kubelet、Kube_proxy等。部署高可用,实际就是这些组件的高可用。 由于ETCD使用raft算法,所以当部署多个master节点时,会自动组成高可用;CrontrollerM...