Myluzh Blog

K8S笔记-通过kubeadm方式搭建高可用集群(keepalived+haproxy)

2023-10-30 myluzh Kubernetes

0x00 介绍 虚拟ip         172.16.10.20     master.k8s.io         k8s-vip master01     172.16.10.21     master01.k8s.io     master01 master02     172.16.10.22     master02.k8s.io     master02 node01        172.16.10.23     node01.k8s.io...

阅读全文>>

标签: k8s 高可用 keepalived haproxy

评论(0) (359)

K8S笔记-持久化存储(PV和PVC)

2023-10-20 myluzh Kubernetes

0x01 PV PVC概述 PV(PersistentVolume)是对底层的共享存储的一种抽象,由管理员进行创建和配置。它和具体的底层的共享存储技术的实现方式有关,比如Ceph、GlusterFS、NFS等,都是通过插件机制完成与共享存储的对接。 PVC(PersistentVolumeClaim)是Kubernetes中的一个资源对象,用于抽象地申请和管理持久化存储资源。它向POD(容器运行的环境)提供了一个简单、抽象的接口,用于绑定和挂载一个POD所需要的存储卷。POD可以通过PVC来自动配置和使用存储卷。 实现流程: 0x02 申请PVC例子 1、定义一个pv,名字为my-pv [root@k8s-master01 k8s]# vi my-pv.yaml apiVersion: v1 kind: PersistentVolume metadata: name: my-pv spec: capacity: storage: 5Gi # 指定存储容量为 5Gi ...

阅读全文>>

标签: k8s pv pvc

评论(0) (340)

K8S笔记-持久化存储(使用NFS网络存储)

2023-10-20 myluzh Kubernetes

0x01 安装nfs服务端 1、找一台服务器安装nfs服务端 # centos nfs服务端跟客户端 一样都是nfs-utils [root@nfs-server /]# yum install -y nfs-utils # 如果是Ubuntu sudo apt-get install -y nfs-kernel-server # nfs服务端 2、设置挂载路径 # 创建挂载路径 [root@nfs-server /]# mkdir -p /data/nfs # 设置nfs挂载路径 [root@nfs-server /]# vi /etc/exports # 将/data/nfs文件夹共享给*(*为所有IP),也可以限制单独ip 写法 /data/nfs 172.16.10.20(rw,no_root_squash) /data/nfs *(rw,no_root_squash) 3、启动nfs服务 [root@nfs-server /]# systemctl start nfs [root@nfs-server /]# ps -ef | grep nfs ...

阅读全文>>

标签: 持久化 k8s 存储 nfs

评论(0) (346)

K8S笔记-通过RKE部署集群并安装Rancher

2023-9-25 myluzh Kubernetes

0x01 介绍 rke版本:v1.4.8  k8s版本:v1.26.7    rancher版本v2.7.6 master 10.206.16.10 centos7.9 role: [controlplane, worker, etcd] node1 10.206.16.11 centos7.9 role: [worker, etcd] node2 10.206.16.12 centos7.9 role: [worker, etcd] 0x02 初始配置 1、修改hostname #10.206.16.10 hostnamectl set-hostname master #10.206.16.11 hostnamectl set-hostname node1 #10.206.16.12 hostnamectl set-hostname node2 2、修改/etc/hosts sudo bash -c 'cat << EOF >> /etc/hosts 10....

阅读全文>>

标签: k8s 集群 rke rancher

评论(1) (701)

K8s笔记-Helm

2023-9-22 myluzh Kubernetes

0x01 Helm 引入 如果使用之前的方式通过yaml部署单一应用,少数服务的应用比较合适。但是如果部署微服务项目,可能有十几个服务,每个服务都有一套yaml文件,需要维护大量yaml文件,版本管理特别不方便。 使用heml可以吧这些yaml作为一个整体管理,实现yaml高效复用,使用heml应用级别的版本管理。 0x02 Helm 介绍 Helm 是一个 Kubernetes 的包管理工具,很方便的将之前打包好的 vaml 文件部署到 kubernetes 。 Helm 有 3 个重要概念: (1)Helm:一个命令行客户端工具,主要用于 Kubernetes 应用 chart 的创建、打包、发布跟管理。 (2)Chart:应用描述,一系列用于描述k8s资源相关文件的集合 (3)Release:基于 Chart 的部署实体一个 chart 被 Helm 运行后将会生成对应的一个release;将在 k8s 中创建出真实运行的资源对象。 0x03 Helm安装与配置仓库 1、Helm安装  官网安装手册:https...

阅读全文>>

标签: k8s helm chart

评论(0) (318)

K8S笔记-Ingress

2023-9-21 myluzh Kubernetes

0x01 Ingress概述 NodePort方式的缺点:之前通过Service里面的NodePort方式把端口号对外暴露,通过IP+端口进行访问,缺点是在每个节点上都会起端口,在访问任何节点+暴露端口号就行实现访问,意味着每个端口只能使用一次,一个端口对应一个服务。实际环境都是使用域名,通过不同的域名跳转到不同的服务端口中。所以这边引入了Ingress。Ingress有很多种,这边使用的是Ingress nginx。 Ingress跟pod关系:pod跟ingress通过service进行关联,ingress作为统一入口,由service关联一组pod。 Ingress工作流程: 0x02 部署ingress controller 1、我选择把ingress controller只部署在了master节点,看个人喜好。也可以通过守护进程方式部署。 2、由于我的matser打了污点,不允许pod进行调度到这个节点,所以在yaml文件里面进行了污点容忍。 [root@master ingress]# cat ingress-controller.yaml apiVersion...

阅读全文>>

标签: k8s nginx Ingress

评论(0) (313)