分类 Kubernetes 中的文章

Kubernetes 创建普通账号

背景 经常有碰到这种需求: 给某个用户某一指定名称空间下的管理权限 给用户赋予集群的只读权限 … 前提 准备一个 Kubernetes 机群 了解 Kubernetes 的认证授权流程 Linux 下使用 openssl 创建自签证书 一、为用户创建证书 创建证书只是实现 Kubernetes 认证用,具体拥有什么样的权限取决于 RBAC 授权。也就是 Role、ClusterRole。 1.1 创建私钥 1cd /etc/kubernetes/pki……

阅读全文

使用kubeadm升级Kubernetes集群到1.22版本

查看当前版本 1kubectl get nodes -owide 1NAME STATUS ROLES AGE VERSION 2k8s-master Ready <none> 548d v1.20.8 3k8s-node1 Ready <none> 548d v1.20.8 4k8s-node2 Ready <none> 548d v1.20.8 k8s不支持跨多个版本升级,因此需要先升级到1.21 安装kubeadm-1.21.4 1yum -y install kubeadm-1.21.4 kubectl-1.21.4 kubelet-1.21.4 创建升级计划 1kubeadm upgrade plan 1.21.4 --ignore-preflight-errors=ControlPlaneNodesReady,swap 由于没有label标识master节点,需要加上--ignore-preflight-errors=C……

阅读全文

使用kube-prometheus快速部署监控系统

使用kube-prometheus快速部署监控系统 简介 根据官方的描述kube-prometheus集kubernetes资源清单、Grafana仪表盘、Prometheus规则文件以及文档和脚本于一身,通过使用prometheus operator提供易于操作的端到端Kuberne……

阅读全文

使用velero管理Kubernetes资源

使用velero管理Kubernetes资源 背景 经常在开发测试环境碰到这样一种情况,yaml文件被修改了,或者service被人删除了。这个时候需要第一时间恢复业务,保障其开发测试的可用性,在生产环境中,备份显得尤为重要,任何一个误操作都有可能导致业务受到影响。 一、简介 是 VMWare 开源的……

阅读全文

使用Rook在Kubernetes上部署Ceph集群

一、简介 在本文中,我们将使用Rook在Kubernetes集群中设置Ceph存储。然后使用Ceph的块存储来持久存储MongoDB数据库的数据。 完成后,您将了解什么是Rook以及如何使用它来部署Ceph。您还将了解如何使用Rook在Kubernetes中部署其他一些存储后端。 二、……

阅读全文

使用RKE部署Kubernetes集群

使用RKE部署Kubernetes集群 一、简介 Rancher Kubernetes Engine(RKE)是一个用Golang编写的Kubernetes安装程序,相对于其它的工具来说,更加简单易用和上手。 二、主机规划 主机名称 系统镜像 IP 配置 角色 rancher-master ubuntu18.04 192.168.0.26 4C8G50G controlplane,etcd rancher-node1 ubuntu18.04 192.168.0.27 8C16G50G node rancher-node2 ubuntu18.04 192.168.0.28 8C16G50G node 三、环境准备 2.1 使用国内源 1sed -i 's/nova.clouds.archive.ubuntu.com/mirrors.ustc.edu.cn/' /etc/apt/sources.list 2apt update 2.2 配置……

阅读全文

备份Kubernetes资源清单文件脚本

脚本文件 dump_yaml_by_namespace.sh 1#!/bin/bash 2 3# 作用: 4# 备份指定namespace下的kubernetes资源清单文件 5 6# ===== 变量定义 ===== 7namespace=$1 8manifests=${2:-manifests} 9today=$(date +%Y%m%d) 10 11# ===== 函数定义部分 ===== 12# 红色终端显示 13function red() { 14 local body=$1 15 echo -e "\033[31m${body}\033[0m" 16} 17 18# 绿色终端显示 19function green() { 20 local body=$1 21 echo -e "\033[32m${body}\033[0m" 22} 23 24# 导出yaml格式的文件 25function dump_to_yaml() { 26 local type=$1 27 green "get ${namespace}${type}." 28 for i in $(kubectl get ${type} -n ${namespace} 2>/dev/null | awk '{if(NR!=1) print $1}');……

阅读全文

Kubernetes最佳实践(5)- 持续集成、测试和部署

第 5 章 持续集成、测试和部署 在本章中,我们将介绍如何集成持续集成/连续部署 (CI/CD) 流水线以将应用程序交付给 Kubernetes 的关键概念。构建一个集成良好的流水线将使您能够信心十足地将应用程序交付到生产环境中,因此,在这里我们将介绍在您的环境中启用 CI/CD 的方法、工具和流程。CI/CD 的目标是实现完……

阅读全文

Kubernetes最佳实践(6)- 版本化、发布和滚动更新

第 6 章 版本化、发布和滚动更新 传统单体应用程序的主要抱怨之一是,随着时间的推移,它们开始变得太大、太笨重,且难以以业务需要的速度进行适当的升级、版本化或修改。许多人可能会说,这是导致更敏捷的开发实践和微服务架构出现的主要关键因素之一。能够快速迭代新代码、解决新问题或修复隐藏问题,以……

阅读全文

Kubernetes最佳实践(1)- 设置基本服务

从今天开始翻译《Kubernetes Best Practice》一书,边学习边总结,翻译不到位的地方欢迎指正。 第 1 章 设置基本服务 本章介绍在 Kubernetes 中设置简单多层应用程序的实践。该应用程序由一个简单的 Web 应用程序和一个数据库组成。虽然这可能不是最复杂的应用程序,但它是开始定向管理 Kubernetes 中应用程序的好地……

阅读全文