Kubernetes学习之kubeadm安装部署k8s集群
kubernets 集群安装部署(kubeadm)安装部署安装前准备
设置每个机器自己的hostname
1hostnamectl set-hostname xxx
关闭seLinux
关闭swap分区
这个安装系统的时候就没有设置交换分区
允许 iptables 检查桥接流量
12345678# 设置加载br_netfilter模块cat <<EOF | sudo tee /etc/modules-load.d/k8s.confoverlaybr_netfilterEOFsudo modprobe overlaysudo modprobe br_netfilter
1234567891011# 开启bridge-nf-call-iptables ,设置所需的 sysctl 参数,参数在重新启动后保持不变 # 参考:https://imroc.cc/post/202105/why-enable-bridge-nf-call-iptables/cat <<EOF | sudo tee /etc/sysctl.d/k8s.confnet.brid ...
MySQL学习之字符集和排序规则
MySQL 中 字符集 和 排序规则字符集MySQL 提供了多种字符集和排序规则选择,其中字符集设置和数据存储以及客户端与 MySQL 实例的交互相关,排序规则和字符串的对比规则相关
(1). 字符集的设置可以在 MySQL 实例、数据库、表、列四个级别
(2). MySQL 设置字符集支持在 InnoDB, MyISAM, Memory 三个存储引擎
(3). 查看当前 MySQL 支持的字符集的方式有两种,一种是通过查看 information_schema.character_sets 系统表,一种是通过命令【 show character set; 】查看。
1234567891011mysql> select * from character_sets;+--------------------+----------------------+---------------------------------+--------+| CHARACTER_SET_NAME | DEFAULT_COLLATE_NAME | DESCRIPTION ...
Ansible自动化运维工具之role介绍
ansible Roleansible role
ansible Role 介绍ansilbe roles是自1.2版本引入的新特性,用于层次性、结构化地组织playbook。
roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。
要使用roles只需要在playbook中使用include指令即可。简单来讲,
roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,
并可以便捷地include它们的一种机制。角色一般用于基于主机构建服务的场景中,
但也可以是用于构建守护进程等场景中。
简而言之:
ad-hoc 适用于临时命令的执行。
playbook 适用 中小项目。
而大型项目一定使用 roles。
roles 主要依赖于目录命名和摆放。默认 tasks/main.yml 是所有任务的入口。所以使用roles的过程可以理解为:为目录规范化命名的过程。
123456789101112131415$tree.├── playbooks.yml <==执行剧本└── roles &l ...
Hibernate学习之Session
Session概述
session接口是hibernate向应用程序提供的操作数据库的最主要接口,它提供了基本的保存,更新,删除和加载java对象的方法
session具有一个缓存,位于缓存中的对象称为持久化对象,他和数据库中的相关记录对应,session能够在某些时间点按照缓存中对象的变化来执行相关的sql语句,来同步更新数据库,这一过程被称为刷新缓存flush。
站在持久化的角度,hibernate把对象分为4中状态,持久化状态,临时状态,游离状态,删除状态,session特定的方法能使对象从一个状态转换到另外一个状态。
这里我们建立一个HibernateTest测试类。其中放置了Session和Transaction成员变量,这个在开发中不能放置为成员变量,会有并发问题的,这里我们只是测试可以放置一下。我们通过单元测试的 @Before public void init()来初始化我们成员变量,然后通过@After public void destroy() 来关闭。
12345678910111213141516171819202122232425262728293 ...
DevOps系列学习Zadig学习之Zadig介绍
zadighttps://koderover.com/zadigx
https://docs.koderover.com/zadig/Zadig%20v1.17.0/quick-start/introduction/
zadig 还有个 企业版的 zadigx。
Zadig 介绍Zadig 是 KodeRover 公司基于 Kubernetes 自主设计、研发的开源分布式持续交付 (Continuous Delivery) 产品,具备灵活易用的高并发工作流、面向开发者的云原生环境、高效协同的测试管理、强大免运维的模板库、客观精确的效能洞察以及云原生 IDE 插件等重要特性,为工程师提供统一的协作平面。Zadig 内置了 K8s YAML、Helm Chart、主机等复杂场景最佳实践,适用大规模微服务、高频高质量交付等场景。我们的目标是通过云原生技术的运用和工程产品赋能,打造极致、高效、愉悦的开发者工作体验,让工程师成为企业创新的核心引擎。
我们的愿景:工程师 + Zadig = 商业上的成功
业务架构介绍:
采用微服务架构模式,前后端分离。
代码主要在这里
后端代码
12https: ...
DevOps系列学习Drone之drone-runner-exec源码学习
drone 介绍https://docs.drone.io/
Drone 是一种基于容器技术的持续交付系统。Drone 使用简单的 YAML 配置文件(docker-compose 的超集)来定义和执行 Docker 容器中的 Pipelines。
Drone 与流行的源代码管理系统无缝集成,包括 GitHub,GitHub Enterprise,Bitbucket 等。
Drone 是一个用 Go 语言开发的基于容器运行的持续集成软件。
Drone是一个Golang技术栈的CI解决方案,功能和Jenkins之类的CI工具类似。
优点
Golang 编写,镜像体积小,搭建容易,运行时占用资源小
支持主流代码托管平台Webhook沟通
构建运行时采用image优先,保证在不同平台的构建结果一致
支持插件化,提供强大的功能支持
现代化UI设计,操作简单明了
缺点
年轻,常改版
官方的各种文档写的太烂了
功能和完善程度不及一些老牌 CI
架构
由 1 台 Server 通过Webhook跟代码托管平台做沟通,
接收到事件后启动Runner来处理 Server 上产生的任务。
Runner ...
DevOps系列学习Drone学习之Drone介绍
DroneDrone 是一个现代化的持续集成平台,它使忙碌的团队能够使用强大的云原生流水线引擎自动化他们的构建、测试和发布工作流。
Drone 有两个发行版:企业版和社区版。如果你只想下载开源软件,社区版是最好的选择。 社区版不包含任何专有代码。
DevOps系列学习Tekton学习之Tekton介绍
TektonTekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架。Tekton 的前身是 Knative 项目的 build-pipeline 项目,这个项目是为了给 build 模块增加 pipeline 的功能,但是随着不同的功能加入到 Knative build 模块中,build 模块越来越变得像一个通用的 CI/CD 系统,于是,索性将 build-pipeline 剥离出 Knative,就变成了现在的 Tekton,而 Tekton 也从此致力于提供全功能、标准化的云原生 CI/CD 解决方案。
https://www.qikqiak.com/k3s/devops/tekton/overview/
Docker学习之docker中的DNS解析问题
docker中的DNS解析问题诡异报错–DNS解析问题报错现象在执行 docker 命令报如下错误
123$ docker search centosError response from daemon: Get "https://index.docker.io/v1/search?q=centos&n=25": dial tcp: lookup index.docker.io on 192.168.1.1:53: read udp 192.168.1.107:50665->192.168.1.1:53: i/o timeout
经过几次尝试,分析发现如下:
1. 发现的报错的命令都是和联网有关系的命令。
2. 只有docker的命令有问题,centos上其他的curl,wget,yum命令都没问题,
都能正常访问网络,正常解析域名的。
3. 之前在Ubuntu系统没遇到这种诡异问题。
做过什么尝试经过分析发现 如果改了 /etc/resolv.conf 加上个 8.8.8.8 的dns站点就能好使了。
12345678 ...
Docker学习之安装docker
安装docker基本上参考官网就行了
https://docs.docker.com/engine/
Ubuntu 安装docker先安装前置工具
1234$ sudo apt-get update$ sudo apt-get install ca-certificates curl gnupg
下载gpg文件
12345$ sudo install -m 0755 -d /etc/apt/keyrings$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
添加apt源
1234echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.dock ...
Harbor安装和配置学习笔记
Harbor Installation and Configuration 版本 2.8.0
https://goharbor.io/docs/2.0.0/install-config/
harbor 安装条件硬件条件 Hardware下面列出了 需要的硬件资源, cpu ,内存,磁盘等:
Resource Minimum Recommended
CPU 2 CPU 4 CPU
Mem 4 GB 8 GB
Disk 40 GB 160 GB
软件条件 Software安装harbor前需要提前安装,准备的软件环境,例如docker,docker-compose, openssl
Software Version Description
Docker engine Version 17.06.0-ce+ or higher 参考文档 https://docs.docker.com/engine/installation/
Docker Compose Version ...
Docker学习笔记总结
=================================
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
docker info123456789101112131415161718192021222324252627282930313233343536373839404142434445464748$ sudo docker info Containers: ...