RKE搭建Kubernetes集群环境
背景由于rancher的一个bug,导致无法通过docker形式安装,于是采用RKE方式。查看rancher的文档,了解到RKE相对比较简单
注意由于PVE的LXC不支持k8s,最终采用VM
系统准备操作系统:Debian***
软件环境
软件
版本
docker
20.10.12
操作系统
Debian
Kubernetes
v1.22.6
服务器
角色
ip
role
host
192.168.1.200
controlplane、rancher、rke
master
192.168.1.201
controlplane、etc
worker1
192.168.1.202
worker
worker2
192.168.1.203
worker
worker3
192.168.1.204
worker
系统软件更新
123debian@debian:~# sudo apt-get update -y...debian@debian:~# sudo apt-get upgrade -y
安装基础软件
123456debi ...
Ubuntu安装Docker
其他系统版本CentOS安装Docker
不同版本只是安装包命令不同而已
安装Docker更新系统包
1root@ubuntu:~# sudo apt-get update
安装需要安装的工具包
1root@ubuntu:~# sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
配置apt源安装docker源
1root@ubuntu:~# sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get update
安装Docker
1root@u ...
V2ray更新gRPC
场景V2ray开始支持gRPC作为底层传输方式,各位大佬已经上车了,于是打算尝尝鲜。由于墙外VPS是Ubuntu 14.04,Nginx版本低于1.13.10,没法使用gRPC。升级Nginx看上一篇
修改配置V2ray服务端配置查阅V2ray的gRpc配置。
关闭V2ray服务
1root@vultr:~# service v2ray stop
修改V2ray配置
1234567891011121314151617181920{ "inbounds":[{ "port": 12345, "protocol": "vmess", "settings": { "clients": [ { "id": "712df412-9afa-49d8-8309-f969313 ...
Ubuntu 16.04升级Nginx
问题Ubuntu直接用apt-get install nginx命令更新只能升级到1.10.3版本,无法使用Http2和Grpc。
解决先在/etc/apt/sources.list添加下面两行
Debian
12deb http://nginx.org/packages/debian/ squeeze nginxdeb-src http://nginx.org/packages/debian/ squeeze nginx
Ubuntu
12deb http://nginx.org/packages/ubuntu/ lucid nginxdeb-src http://nginx.org/packages/ubuntu/ lucid nginx
然后 apt-get install nginx 就可以
Linux Page Cache占用回收
场景Linux系统经常内存占用到90%,查看后发现是Page Cache占用绝大多,遂查看Page Cache在Linux系统内是啥用。原来是Linux读取文件时,用于缓存文件的逻辑内容,从而加快对磁盘上的映像和数据的访问。
解决
仅清除页面缓存(PageCache)
echo 1 > /proc/sys/vm/drop_caches
清除目录项和inode
echo 2 > /proc/sys/vm/drop_caches
清除页面缓存,目录项和inode
echo 3 > /proc/sys/vm/drop_caches
简单粗暴直接采用echo 3 > /proc/sys/vm/drop_caches。
可以写个定时清除缓存的脚本,当然想要获得更好的体验就需要做更多的设置。
创建文件
123#clearcache.sh#!/bin/bashecho "echo 3 > /proc/sys/vm/drop_caches"
设置文件权限
1# chmod 755 clearcache.sh
设置定时任务
...
Dmesg命令
命令Linux dmesg (英文全称:display message) 用于显示开机信息。kernel会将开机信息存储在ring buffer中。若是在开机时来不及查看信息,可利用dmesg命令来查看。开机信息会保存在/var/log目录下,名称为dmesg的中文件中。
语法
dmesg [-cn] [-s <缓存区大小>]
参数说明
-c
显示信息后,清楚ring buffer中的内容。
-s <缓存区大小>
预设置为8196,刚好等于ring buffer的大小。
-n
设置记录信息的层级。
Proxmox更新
修改官方源
编辑/etc/apt/sources.list
删掉原来的源地址,添加国内源地址
12345678deb http://mirrors.aliyun.com/debian/ bullseye main non-free contribdeb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contribdeb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contribdeb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contribdeb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contribdeb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non- ...
Proxmox安装
准备安装USB启动盘安装文档
下载官方安装源官方ISO源
下载Proxmox VE 7.1 ISO Installer
制作USB启动盘下载官方推荐的USB启动盘安装工具Etcher
插入USB,启动USB安装工具,选择ISO,等待安装结束
开启BIOS虚拟化功能具体操作参考
安装插入USB启动盘,重启计算机,选择启动设备为刚插入的U盘,出现选择安装界面,选择Install Proxmox VE
选择安装磁盘,最好是NVMe接口的磁盘,为后续直通SATA Controller更简便
设置国家、时区和键盘布局
设置密码和邮箱
设置网络,由于我是通过PVE内部软路由上网,所以我设置的是路由内IP地址
接下来就可以等待安装结束,重启计算机,在同个网段或者连接网卡,输入刚才设置的ip地址,即可显示Proxmox的登陆界面
登录时,语言选择Chinese (Simplified),登录成功后即可显示Proxmox Dashboard界面
创建虚拟机创建虚拟机
选择使用CD/DVD光盘镜像文件(ISO)或者不使用任何介质,这里是使用已经上传的OMV镜像。客户操作系统可以根据安装 ...
ASP.NET Core MVC 5.x初始化源码解读(一)
前言初始化比较复杂,文章拆分成3部分Host、WebHost、Startup,逐一分析
对象概念解释
接口定义
IHost : 主机抽象
IServiceProvider : 对象服务提供器
StartAsync : 启动方法
StopAsync : 停止方法
IHostBuilder : 主机构造器抽象
ConfigureHostConfiguration() : 配置主机配置文件
ConfigureAppConfiguration() : 配置应用配置文件
ConfigureServices() : 配置服务
UseServiceProviderFactory() : 配置服务提供商工厂
ConfigureContainer() : 配置容器
Build() : 构造主机
具体实现
Host : 主机
IHostLifetime : 主机生命周期
IServiceProvider : 服务提供商
ApplicationLifetime : 应用生命周期
HostOptions : 主机选项
IEnumerable<IHostedService> ...
ASP.NET Core MVC 5.x初始化源码解读(二)
WebHost对象概念解释WebHost
接口定义
IWebHost : 主机抽象
IFeatureCollection : 插件容器
IServiceProvider : 对象服务提供器
Start : 启动方法(同步)
StartAsync : 启动方法
StopAsync : 停止方法
IWebHostBuilder : 网站主机构建器
Build : 构建
ConfigureAppConfiguration : 配置应用配置文件
ConfigureServices : 配置服务
GetSetting : 读取单个配置值
UseSetting : 设置单个配置项
具体实现
GenericWebHostBuilder : 通用网站主机构造器(HostBuilder桥接器)
ConfigureHostConfiguration : 设置主机配置
ConfigureAppConfiguration : 设置应用配置
ConfigureServices : 设置服务
UseStartup : 使用StartUp配置启动
HostingStartupWebH ...