Kubernetes PV Volume
Kubernetes PV 持久卷1.PV 概念1.1 什么是 PV:PV 的全称是 PersistentVolume(持久化卷)。PersistentVolume 是 Volume 的一种类型,是对底层存储的一种抽象。PV 由集群管理员进行创建和配置,与 node一样,PV 也是属于集群级别的资源。PV 包含存储类型、存储大小和访问模式。PV 的生命周期独立于 Pod,即使用它的 Pod 被销毁时,PV 可以依然存在。
PersistentVolume 通过插件机制实现与共享存储的对接。Kubernetes 目前支持以下插件类型,其中 FlexVolume 和 CSI 是 Kubernetes 的标准插件,用于集成各云厂商的存储设备。
FlexVolume
CSI
NFS
RBD (Ceph Block Device)
CephFS
Glusterfs
HostPath
Local
1.2 PV 的生命周期:ACCESS MODES PV的访问模式: 是用来对 PV 进行访问模式的设置,用于描述用户应用对存储资源的访问权限,访问权限包括以下几种方式:
ReadWriteOn ...
Centos7 搭建 NFS 服务器
CentOS7 搭建 NFS 服务器一、服务端配置1、配置环境关闭防火墙服务
1234567# 停止并禁用防火墙$ systemctl stop firewalld$ systemctl disable firewalld<!-- more --># 关闭并禁用SELinux$ setenforce 0$ sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
2、安装nfs-utils和rpcbind1$ yum install -y nfs-utils rpcbind
3、创建存储的文件夹12345# 创建文件夹$ mkdir /nfs # 更改归属组与用户$ chown -R nfsnobody:nfsnobody /nfs
4、配置NFS12345# 编辑exports$ vi /etc/exports # 输入以下内容(格式:FS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...))/nfs 192.168.100 ...
Kubernetes Volume
Kubernetes Volume 数据卷K8S Volume 概念我们知道,容器中的磁盘文件是临时的,一旦容器运行结束,其文件也会丢失。如果数据需要长期存储,那就需要对容器数据做持久化支持,在就涉及到 Kubernetes 中的一个核心概念 Volume。 Kubernetes 和 Docker 类似,也是通过 Volume 的方式提供对存储的支持。Kubernetes 中 的 Volume 与 Docker 中的 Volume 类似,主要的区别如下:
1、Kubernetes 中的 Volume 被定义到 Pod 层面,Volume 可以被 Pod 中的多个容器挂载到相同或不同的路径。
2、Kubernetes 中的 Volume 与 Pod 的生命周期相同,但与容器的生命周期不相关。当容器终止或重启时,Volume 中的数据不会丢失。
3、当 Pod 被删除时,Volume 才会被清理。并且数据是否丢失取决于 Volume 的具体类型,比如:emptyDir 类型的 Volume 数据会丢失,而 PV 类型的数据则不会丢失。
Volume 的本质是一个目录,其中可以包含数据 ...
K8s calico install
安装最新版Calico进入calico网站:
https://projectcalico.docs.tigera.io/getting-started/kubernetes/self-managed-onprem/onpremises#install-calico-with-etcd-datastore
1.下载yaml1curl https://raw.githubusercontent.com/projectcalico/calico/v3.24.5/manifests/calico-etcd.yaml -o calico.yaml
2.编辑calico.yaml里的Secret段,data下定义的证书base64加密数据
etcd-key: # etcd的ca证书数据
etcd-cert: # etcd的ca证书数据
etcd-ca: # etcd的证书数据
123456# etcd-cacat /opt/etcd/ssl/ca.pem | base64 | tr -d '\n'# etcd-certcat /opt/etcd/ssl/c ...
K8s ingress-nginx install
1.ingress安装部署1 ingress 简介ingress, ingress-controller 是什么?
ingress 公开了从集群外部到集群内部服务的 HTTP 和 HTTPS 路由的规则集合,而具体实现流量路由规则是由 ingress-controller 负责
ingress 是 K8S 中的一个抽象资源,给管理员提供一个暴露应用的入口定义方法。ingress-controller 组件根据 ingress 生成具体的路由规则,并对 Pod 负载均衡。
ingress-controller 是怎么工作的:
ingress-controller 通过与 K8S API 交互,动态的去感知集群中 ingress 规则变化,然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个 service,生成一段 Nginx 配置,应用到管理的 Nginx 服务,然后热加载生效。以此来达到 Nginx 负载均衡器配置以及动态更新的问题。
2 ingress-nginx-controller 控制器部署Ingress Nginx 有 2 种实现,其一由 Kubernetes ...
K8s-2.3.10 二进制安装
二进制安装 Kubernetes(k8s) v1.23.6
背景
ApiServer,提供了增删改查及watch接口,是各个组件的交互枢纽,同时提供认证、授权、准入、限速功能。
etcd,负责元数据的存储,k8s的状态数据全部存储在etcd上。
Controller-Manager,包含了各种控制器,就是使用监听,使得资源的实际状态和期望状态一致。
Scheduler,调度资源,负责Pod的调度,当有Pod需要调度时,通过一系列的筛选和评优算法,为Pod分配最佳的Node。
node节点,部署有kubelete,负责pod的创建运行;kubelet-proxy,负责节点上网络代理;另外还有容器运行时、各种插件
1.环境【所有主机】(除特殊说明,所有主机操作)
主机名称
IP地址
说明
软件
Master01
192.168.100.45
master节点
kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client
Master02
192.168 ...
Jenkins配置文件导出导入
Jenkins导出和导入配置文件方式一、Jenkins-cli一、下载Jenkins-cli.jar1、jenkins-cli.jar 位置首页-系统管理-Jenkins CLI
2、点击下载jenkins-cli.jar
下载jenkins-cli.jar!或者
1wget http://<ipaddress>:8080/jenkins/jnlpJars/jenkins-cli.jar
二、执行命令测试1java -jar jenkins-cli.jar -s http://<ipaddress>:8080/ -webSocket help
命令测试成功。
三、导出配置1java -jar jenkins-cli.jar -s http://<IP>:8080 -webSocket get-job <jobName> > <fileName>.xml
四、导入配置1java -jar jenkins-cli.jar -s http://<IP>:8080 -webSocket create-job ...
K8s etcd集群搭建
etcd数据库集群部署参考文档
1、安装cfssl证书生成工具 (master1 上操作就好)cfssl 是一个开源的证书管理工具,使用 json文件生成证书,相比 openssl更方便使用。
1234567cd /usr/local/binwget --no-check-certificate https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -o /usr/local/bin/cfsslwget --no-check-certificate https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -o /usr/local/bin/cfssljsonwget --no-check-certificate https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -o /usr/local/bin/cfssl-certinfochmod +x /usr/local/bin/cfssl*
海外很难下, 需要的同学可以发邮件
4、创建 etcd配置文件 ...
K8s 集群kubeadm 快速搭建
以下为测试环境的实验记录,博文参考自 李振良OK:使用 kubeadm 快速部署一个 Kubernetes 集群
kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具。
这个工具能通过两条指令完成一个 kubernetes 集群的部署:
12345# 创建一个 Master 节点$ kubeadm init# 将一个 Node 节点加入到当前集群中$ kubeadm join <Master节点的IP和端口 >
一、安装要求在开始之前,部署 Kubernetes 集群机器需要满足以下几个条件:
一台或多台机器,操作系统 CentOS7.x-86_x64
硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
集群中所有机器之间网络互通
可以访问外网,需要拉取镜像
禁止swap分区
二、准备环境 【所有节点】
角色
IP
k8s-master1
192.168.100.45
k8s-node1
192.168.100.46
k8s-node2
192.168.100.47
123456789101 ...
Jumpserver 使用
一、系统设置
点击页面右上角的 系统设置 进行配置
1.1 基本设置
名称
示例
备注
当前站点URL
https://demo.jumpserver.org
不设置的话,邮件收到的地址为 http://localhost
用户向导URL
用户首次登陆可以看到此 超链接,可以不设置
忘记密码URL
使用了 LDAP, OPENID 等外部认证系统,可以自定义
注意
1、当前站点URL,一定要设置正在使用的地址
1.2 邮件设置
名称
示例
备注
SMTP主机
smtp.qq.com
服务商提供的 smtp 服务器
SMTP端口
25 通常是 25
SMTP账号
296015668@qq.com
通常是 user@domain.com
SMTP ...