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 ...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....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...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...2023-9-14 myluzh Kubernetes
0x00 概述 一、访问k8s集群的时候,需要经过三个步骤完成具体操作: 第一步 认证 1.传输安全: 对外不暴露8080端口,只能内部访问,对外使用端口6443 2.认证: 客户端身份认证常用方式: (1)htts证书认证,基于ca证书 (2)http token认证,通过token识别用户 (3)http基本认证,用户名+密码认证 第二步 鉴权(授权) 基于RBAC鉴权(基...2023-9-14 myluzh Kubernetes
0x01 Job(一次性任务) 它的任务是在一个Pod中运行一个容器,容器会输出一句话"Hello, Kubernetes!"。在容器运行完毕后,Job会自动停止Pod并退出。如果容器在运行过程中失败,Job会重新尝试4次(backoffLimit设置为4)。 apiVersion: batch/v1 kind: Job metadata: name: myjob spec: template: spec: containers: - name: mycontainer image: myimage:latest command: ["echo", "Hello, Kubernetes!"] restartPolicy: Never backoffLimit: 4 0x02 Cronjob 定时任务 定义了一个名为 my-cronjob 的 CronJob,它将每分钟创建一个 Pod。Pod 中包含一个名为 my-container 的容器,它的启动命令是 echo "Hello, Kubernetes!"。...