Kubernetes创建名称空间账户

在一套k8s集群中会存在多个名称空间,各个名称空间由其项目组进行维护。为达到名称空间隔离,防止其他用户操作本空间下的资源,需要创建特定的config文件。使用对应的config仅能对相应名称空间下的资源进行管理。本例以k8s-api用户为例,该用户仅能操作k8s-api名称空间下的部分资源。 创建证书 创建私钥 1 openssl genrsa -out k8s-api.key 2048 创建证书签署请求CSR 1 openssl req -new -key k8s-api.key -out k8s-api.csr -subj "/CN=k8s-api" 使用k8s集群的ca证书及私钥签发用户证书 1 2 3 4 5 6 openssl x509 -req -in k8s-api.csr \ -CA /etc/kubernetes/ssl/ca.crt \ -CAkey /etc/kubernetes/ssl/ca.key \ -CAcreateserial \ -out k8s-api.crt \ -days 3560 注:签发周期为10年,实际环境取决于需求。 生成k8s-api用户要用到的config文件 config文件存放着kubectl用来操作k8s集群用的到证书、集群信息等,位于$HOME/.kube/目录下。 生成默认的config(此步骤结束会生成k8s-api.conf) 1 2 3 4 5 kubectl config set-cluster k8s-api \ --certificate-authority=/etc/kubernetes/ssl/ca.crt \ --embed-certs=true \ --server=https://172.16.200.101:6443 \ --kubeconfig=k8s-api.conf 注:1. --embed-certs=true: 将证书文件内嵌到config中 2.

CRUSH map实践

前言:CRUSH算法是Ceph的核心算法,全称为可扩展散列下的智能分发机制(Controlled Replication Under Scalable Hashing)。是整个Ceph数据存储机制的核心。默认安装的Ceph集群会根据当前集群自动生成一套CRUSH map规则,但是默认的CRUSH map可能不符合预期,可以手动修改以满足实际需求。

Ceph存储基本使用

前言:Ceph能提供三大存储接口,即块存储、文件存储和对象存储。本篇博客主要介绍Ceph实现三种存储的步骤。

calico修改podCIDR

前言:pod CIDR是指Kubernetes为pod分配的ip地址段,默认情况下使用kubesparay部署时默认的CIDR是10.233.64.0/16。换算出来的可用地址是10.233.64.1-10.233.127.254。可为64个节点分配pod的ip地址。如果集群扩容超过了64,如何修改podCIDR以允许大量的主机呢?

Kubernetes之RBAC鉴权

RBAC(Role Based Access Control 基于角色的访问控制)。在使用kubeadm部署kubernetes集群时作为默认的鉴权模式开启。二进制部署时需指明api-server的启动参数--authorization-mode=RBAC来开启RBAC认证。

Nginx的location匹配优先级

一直以来觉得自己掌握了nginx,直到昨天面试发现自己说的location匹配优先级都不正确。主要原因也是之前没有做过多location的配置,没有去想过这个点,造成面试不理想。故写此博客理解location匹配的优先级。

初探GlusterFS

GlusterFS是一种分布式文件系统。分布式文件系统可以有效解决数据的存储和管理难题。将固定于某个地点的某个文件系统,扩展到任意多个节点组成一个文件系统网络。

pod调度策略

一般而言pod的调度都是通过RC、Deployment等控制器自动完成,但是仍可以通过手动配置的方式进行调度,目的就是让pod的调度符合我们的预期。