站长推荐
K8S配置StoregeClass(nfs,ceph-rdb,cephfs,阿里云NAS)
k8s支持多种存储类,本文介绍几种常用的存储类:nfs、ceph rdb、cephfs、阿里云文件存储(NAS)
各存储类的区别详见:存储类
NFS
首先,你需要准备一台nfs服务器,我这里的服务器是:10.0.30.15, path: /data
注意:所有的worker节点需要安装nfs-utils,否则将无法挂载
配置rbac
nfs-rbac.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: nfs-client-provisioner
namespace: nfs
---
kind: ClusterRole
……
Ceph RGW搭建
Ceph RGW简介
Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口。RGW提供两种类型的接口:
S3:兼容Amazon S3RESTful API。
Swift:兼容OpenStack Swift API。
部署Ceph RGW
首先,我们需要有个ceph集群,ceph集群的搭建详见:Centos7搭建ceph集群
这次我们将rgw服务安装在ceph-node4节点上
进入配置文件目录
cd cluster
修改服务端口(rgw默认使用7480端口提供服务,如果想改成80端口,需添加以下配置)
vi ceph.conf
#...
#在文件末尾添加以下……
二进制方式搭建Kubernetes 1.19.3高可用集群(五)——部署dashboard
本文将介绍在二进制部署的k8s集群中部署dashboar 2.0.4,并解决部署过程中metrics-server无法启动的问题
部署dashboard
首先,根据官方文档来,下载配置文件(官方文档地址:https://github.com/kubernetes/dashboard)
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml -O dashboard-deploy.yaml
由于镜像在国外,下载可能会比较慢,所有我把镜像放到了阿里云上,可以按需替……
二进制方式搭建Kubernetes 1.19.3高可用集群(四)——部署worker节点和网络插件
本文将介绍通过二进制方式部署kubelet、kube-proxy组件以及网络组件calico的安装
部署kubelet(worker节点)
创建bootstrap配置文件
将kubeadm放到bin目录下,方便执行命令
cp master/kubeadm /usr/local/bin
#进入我们原先制作admin证书的目录
cd target/admin
#创建token
export BOOTSTRAP_TOKEN=$(kubeadm token create --description kubelet-bootstrap-token --groups system:bootstra……
二进制方式搭建Kubernetes 1.19.3高可用集群(三)——部署controller-manager和scheduler
本文将介绍通过二进制方式部署controller-manager和scheduler组件
部署kubectl(master节点)
kubectl是kubernetes集群的命令行管理工具,它默认从 ~/.kube/config 文件读取 kube-apiserver 地址、证书、用户名等信息。
生成admin证书和私钥
kubectl 与 apiserver https 安全端口通信,apiserver 对提供的证书进行认证和授权。
kubectl 作为集群的管理工具,需要被授予最高权限。这里创建具有最高权限的 admin 证书。
#新建一个目录存放admin的证书
cd target &……
二进制方式搭建Kubernetes 1.19.3高可用集群(二)——部署ETCD集群和api-server
本文将介绍通过二进制方式部署etcd集群和api-server
部署etcd集群
生成etcd证书和私钥
#新建一个目录存放etcd的证书
cd target && mkdir etcd && cd etcd
#生成证书配置文件
cat > etcd-csr.json<<EOF
{
"CN": "etcd",
"hosts": [
"127.0.0.1",
"10.0.40.101",
"10.0.40.102",
"10.0.40.103"
],
"key": {
"algo": "rsa",
"size": 2048
}……
二进制方式搭建Kubernetes 1.19.3高可用集群(一)——环境准备
本文将通过二进制来搭建Kubernetes v1.19.3高可用集群,网络插件选择calico,kube-proxy使用ipvs模式
环境准备
centos7虚拟机11台,配置如下
系统类型
IP
角色
Hostname
centos-7.7
10.0.40.101
etcd
etcd-40-101.jieee.xyz
centos-7.7
10.0.40.102
etcd
etcd-40-102.jieee.xyz
centos-7.7
10.0.40.103
etcd
etcd-40-103.jieee.xyz
centos-7.7
10.0.50.101
master
kube-m-5……
Centos7搭建ceph集群
一、服务器准备
主机名
主机IP
磁盘
角色
ceph-node1
10.0.30.11
sda,sdb
sda是系统盘,sdb是数据盘
ceph-deploy,monitor,mgr,osd
ceph-node2
10.0.30.12
同上
monitor,mgr,osd
ceph-node3
10.0.30.13
同上
monitor,mgr,osd
ceph-node4
10.0.30.14
同上
osd
二、环境装备设置主机名
1.每个节点修改主机名
hostnamectl set-hostname ceph-node1 # 节点一
hostnamectl set-hostname c……
Ceph组件介绍
一、Ceph基础介绍
Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。
Ceph相比其它存储的优势点在于它不单单是存储,同时还充分利用了存储节点上的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的良好设计,采用了CRUSH算法、HASH环等方法,使得它不存在传统的单点故障的问题,且随着规模的扩大性能并不会受到影响。
二、核心组件介绍
组件
功能
Ceph OSD(必装)
全称是Object Storage Device,主要功能包括存储数据,处理……
使用Gitlab和Docker自动化部署spring-boot应用
Gitlab CI是Gilab的一部分,只需要编写一个.gitlab-ci.yml文件即可完成所有CI工作。
本文中,使用GitlabCI的前置条件
在gitlab上已有spring boot项目
应用服务器上已安装docker
有docker镜像托管(本文中使用Docker Hub)
在服务器上已生成了SSH密钥
需要创建的文件
Dockerfile 用于构建Docker镜像
.gitlab-ci.yml 用于定义整个CI流程
GitlabRunner配置
找一台服务器作为gitlab-runner的宿主机,安装docker
$ docker pull gitlab/gitlab-runn……