在Kubernetes上安装Netdata的方法
介绍Netdata可用于监视kubernetes集群并显示有关集群的信息,包括节点内存使用率、CPU、网络等,简单的说,Netdata仪表板可让您全面了解Kubernetes集群,包括在每个节点上运行的服务和Pod。 安装HELM123456root@hello:~# curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -root@hello:~# sudo apt-get install apt-transport-https --yesroot@hello:~# echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.listroot@hello:~# sudo apt-get updateroot@hello:~# sudo apt-get install helm 添加源并安装1234567891011121...
经GitHub将kubernetes镜像推送到阿里云
背景在安装kubernetes时会出现无法访问镜像站的情况,通过GitHub将kubernetes镜像推送到阿里云之后,即可使用阿里云地址引用所需镜像,现已同步镜像5000+,当前还在陆续同步。仓库使用 Github Action 每天自动运行脚本同步镜像到阿里云。 代码仓库https://github.com/cby-chen/sys\_images若有需要自行研究 后续更新会在仓库更新 目前有如下镜像仓库,后续会陆续增加123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 docker.elastic.co: - elasticsearch/elasticsearch - kibana/kibana - logstash/logstash - beats/filebeat - beats/heartbeat - beats/packetbeat - beats/auditbeat - beats/jour...
Let's Encrypt 泛域名证书申请
泛域名泛域名证书又名通配符证书是SSL证书中的其中一种形式,一般会以通配符的形式(如:*.domain.com)来指定证书所要保护的域名。 OV证书和DV证书都会有通配符的域名形式提供,而EV证书一般没有通配符的证书形式。 1.配置灵活方便 由于采用了通配符的形式对域名进行配置,那么对于拥有多个二级域名的网站是一件非常便利的事情。只要申请一张通配符证书,就能用于所有的二级域名网站中。而且如果以后需要继续增加二级域名,也不需要再去申请购买证书,只需继续使用原有的证书就可以,对于网站管理者来说确实是非常的方便。 2.性价比高 一般而言,通配符证书是会比单域名证书会贵上不少,但是假如按每个二级域名的证书价格摊分下来,那其实证书单价是及其的低。当然这要看你的二级域名数量总数有多少而定。但如今互联网时代,很多公司企业他们都会用户多个二级域名。对于这些企业而言,通配符证书无疑是一种高性价比的SSL证书。 安装所需环境12345678910111213141516171819202122232425root@cby:~# apt-get install socat -yroot@cby:~#...
docker方式实现postgres数据持久化离线安装
保存镜像12345678910111213141516171819202122232425root@hello:~# docker pull postgresUsing default tag: latestlatest: Pulling from library/postgresa2abf6c4d29d: Already exists e1769f49f910: Pull complete 33a59cfee47c: Pull complete 461b2090c345: Pull complete 8ed8ab6290ac: Pull complete 495e42c822a0: Pull complete 18e858c71c58: Pull complete 594792c80d5f: Pull complete 794976979956: Pull complete eb5e1a73c3ca: Pull complete 6d6360292cba: Pull complete 131e916e1a28: Pull complete 757a73507e2e: Pull...
docker方式实现minio数据持久化离线安装
保存镜像 123456789101112131415161718root@hello:~# docker pull minio/minioUsing default tag: latestlatest: Pulling from minio/miniod46336f50433: Pull complete be961ec68663: Pull complete 44173c602141: Pull complete a9809a6a679b: Pull complete df29d4a76971: Pull complete 2b5a8853d302: Pull complete 84f01ee8dfc1: Pull complete Digest: sha256:d786220feef7d8fe0239d41b5d74501dc824f6e7dd0e5a05749c502fff225bf3Status: Downloaded newer image for minio/minio:latestdocker.io/minio/minio:latestroot@hello:~#r...
docker方式实现redis数据持久化离线安装
保存镜像 1234567891011121314151617root@hello:~# docker pull redis:latestlatest: Pulling from library/redisa2abf6c4d29d: Already exists c7a4e4382001: Pull complete 4044b9ba67c9: Pull complete c8388a79482f: Pull complete 413c8bb60be2: Pull complete 1abfd3011519: Pull complete Digest: sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339Status: Downloaded newer image for redis:latestdocker.io/library/redis:latestroot@hello:~# root@hello:~# docker save > redis.tar redis:latest...
自编写二进制安装kubernetes脚本v2.0版本
一键安装 二进制安装Kubernetes(k8s) v2.0 手动安装:https://github.com/cby-chen/Kubernetes 脚本安装:https://github.com/cby-chen/Binary_installation_of_Kubernetes 使用说明:该脚本示例需要十一台服务器,在十一台服务器中有一台是用于执行该脚本的, 另外有八台k8s服务器,其他俩台作为lb负载均衡服务器。 将其中服务器配置好静态IP,修改如下变量中的IP即可。 同时查看服务器中的网卡名,并将其修改。 执行脚本可使用bash -x 即可显示执行中详细信息。 该脚本已适配centos7和centos8。 脚本中hosts有俩处,记得修改。 2022-03更新: 现已支持centos7 和centos8 自动适配 同时支持自定义k8s node节点结构. 在变量中需要几台节点就写几台节点即可 注意的是,新增节点,要在脚本中的hosts中也要修改 不建议乱改。 2022-04更新: 更新kubernetes自主版本选择 优化执行结构 适配多版本 修复BUG 1234567...
二进制安装Kubernetes(k8s) v1.23.5
Github:https://github.com/cby-chen/Kubernetes/ 1.23.3 和 1.23.4 和 1.23.5 文档以及安装包已生成。 后续尽可能第一时间更新新版本文档 https://github.com/cby-chen/Kubernetes/releases 1.环境 主机名称 IP地址 说明 软件 Master01 192.168.1.61 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Master02 192.168.1.62 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Master03 192.168.1.63 master节点 kube-apiserver、kube-controller-manager、kube-sch...
kubernetes(k8s)命名空间一直Terminating
1234567root@hello:~# kubectl get nsNAME STATUS AGEauth Terminating 34mdefault Active 23hkube-node-lease Active 23hkube-public Active 23hkube-system Active 23h 新开命令行窗口打开proxy 12root@hello:~# kubectl proxyStarting to serve on 127.0.0.1:8001 回到刚才窗口 将 terminating 状态的命名空间信息导出到 json 文件: 1root@hello:~# kubectl get namespace auth -o json >tmp.json 修改json文件中的 finalizers,将其设置为空 123root@hello:~# vi tmp.json ro...
Linux磁盘LVM根目录扩容
LVM 的基本概念 物理卷 Physical Volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file)。物理卷包括一个特殊的 header,其余部分被切割为一块块物理区域(physical extents) 卷组 Volume group (VG):将一组物理卷收集为一个管理单元 逻辑卷 Logical volume (LV):虚拟分区,由物理区域(physical extents)组成 物理区域 Physical extent (PE):硬盘可供指派给逻辑卷的最小单位(通常为 4MB) 新建分区 1234567891011121314151617181920212223242526272829303132333435363738394041424344root@hello:~# fdisk /dev/sdaWelcome to fdisk (util-linux 2.34).Changes will remain in memory only, until you decide to write them.B...
使用HTMLform表单操作腾讯云DNS控制台
在使用中经常需要修改DNS记录,或者查询、删除操作。每次都得登录腾讯云控制台,腾讯云比较鸡肋的一点就是需要进行微信扫码登录,每次操作太不方便。 可以使用api接口进行操作腾讯云上的产品。所以使用HTML写了一个前端页面,暂时没有美化,目前只有基础功能。 前端代码如下,同时可以访问:http://dns.oiox.cn/ 使用 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411...
kubernetes(k8s)部署 Metrics Server 资源
资源使用指标,例如容器 CPU 和内存使用率,可通过 Metrics API 在 Kubernetes 中获得。这些指标可以直接被用户访问,比如使用 kubectl top 命令行,或者被集群中的控制器 (例如 Horizontal Pod Autoscalers) 使用来做决策。 配置api聚合层 123456添加配置api启动service文件--enable-aggregator-routing=true ps -ef |grep apiserver|grep enable-aggregator-routingroot 1147 1 10 10:23 ? 00:30:13 /usr/local/bin/kube-apiserver --v=2 --logtostderr=true --allow-privileged=true --bind-address=0.0.0.0 --secure-port=6443 --insecure-port=0 --advertise-address=192.168.1.30 --servi...
利用NGINX搭建部署直播流媒体服务器
直播如今是一个老生常谈的问题,怎么用于直播,大多数人只晓得,大佬某平台直播软件,点击开始即可直播。那么如何来搭建一个简易的直播平台呢?仅仅是有直播功能,没有涉及转码以及播放软件。 123456789101112131415161718192021222324252627安装nginx以及rtmp模块root@cby:~# apt install nginxroot@cby:~# apt install libnginx-mod-rtmp修改配置以支持rtmproot@cby:~# vim /etc/nginx/nginx.confrtmp { server { listen 1935; chunk_size 4096; application live { live on; } }}检查是否有报错root@cby:~# nginx -tnginx: the configuration file /etc/nginx/nginx.c...
Containerd 入门基础操作
Containerd 被 Docker、Kubernetes CRI 和其他一些项目使用 Containerd 旨在轻松嵌入到更大的系统中。Docker 在后台使用 containerd来运行容器。Kubernetes 可以通过 CRI 使用 containerd来管理单个节点上的容器。 生成默认配置 root@hello:~# containerd config default > /etc/containerd/config.toml root@hello:~# vim /etc/containerd/config.toml root@hello:~# cat /etc/containerd/config.toml version = 2 root = "/var/lib/containerd" state = "/run/containerd" plugin_dir = "" disabled_plugins = [] required_plugins = [] oom_score = 0 ...
Kubernetes 各个组件 启动参数介绍
kube-controller-manager Kubernetes 控制器管理器是一个守护进程,内嵌随 Kubernetes 一起发布的核心控制回路。在机器人和自动化的应用中,控制回路是一个永不休止的循环,用于调节系统状态。在 Kubernetes 中,每个控制器是一个控制回路,通过 API 服务器监视集群的共享状态, 并尝试进行更改以将当前状态转为期望状态。目前,Kubernetes 自带的控制器例子包括副本控制器、节点控制器、命名空间控制器和服务账号控制器等。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110cat > /usr/lib/systemd/system/kub...
kube-apiserver启动命令参数解释
在apiserver启动时候会有很多参数来配置启动命令,有些时候不是很明白这些参数具体指的是什么意思。 我的kube-apiserver启动命令参数: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556cat > /usr/lib/systemd/system/kube-apiserver.service << EOF[Unit]Description=Kubernetes API ServerDocumentation=https://github.com/kubernetes/kubernetesAfter=network.target[Service]ExecStart=/usr/local/bin/kube-apiserver \ --v=2 \ --logtostderr=true \ --allow-privileged=true \ --bind-...
二进制安装Kubernetes,一键安装脚本
背景,最近几天闲着研究Kubernetes,发现使用手动二进制安装会有些繁琐。经过突发奇想,就出现这个脚本。 声明,该脚本不及互联网上其他大佬的一件脚本,该脚本仅仅是突发奇想编写的,希望大佬不喜勿喷。 这个脚本执行环境比较苛刻,我写的这个脚本比较垃圾,还未能达到各种环境下都可以执行。 当前脚本Kubernetes集群,以及lb负载均衡,需要在CentOS系统,执行脚本节点可以选择Ubuntu或者CentOS系统。 当前脚本中引用的Kubernetes二进制包是v1.23.3 主机名称 IP地址 说明 软件 Master01 192.168.1.40 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Master02 192.168.1.41 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy...
二进制安装Kubernetes(k8s) v1.23.4
1.环境 主机名称 IP地址 说明 软件 Master01 192.168.1.30 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Master02 192.168.1.31 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Master03 192.168.1.32 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Node01 192.168.1.33 node节点 kubelet、kube-proxy、nfs-client Node02 192.168.1.34 node节点 kubelet、kube-proxy、...
安装部署keepalived的HA环境
每一台配置下keepalived 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108#master01 配置:cat >/etc/keepalived/keepalived.conf<<"EOF"! Configuration File for keepalivedglobal_defs { router_id LVS_DEVEL script_user root enable_script_security}vrrp_script chk_apiserver { script "/etc/keepalived...
二进制安装Kubernetes(k8s) v1.23.3
二进制安装Kubernetes(k8s) v1.23.3Kubernetes 开源不易,帮忙点个star,谢谢了 介绍kubernetes二进制安装 后续尽可能第一时间更新新版本文档,更新后内容在GitHub。 https://github.com/cby-chen/Kubernetes/ 手动项目地址:https://github.com/cby-chen/Kubernetes 脚本项目地址:https://github.com/cby-chen/Binary_installation_of_Kubernetes 1.环境 主机名称 IP地址 说明 软件 Master01 192.168.1.76 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Master02 192.168.1.77 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etc...
CentOS安装时钟同步服务
使用chrony用于时间同步 123456789101112131415161718yum install chrony -yvim /etc/chrony.confcat /etc/chrony.conf | grep -v "^#" | grep -v "^$"pool ntp.aliyun.com iburstdriftfile /var/lib/chrony/driftmakestep 1.0 3rtcsyncallow 10.0.0.0/8local stratum 10keyfile /etc/chrony.keysleapsectz right/UTClogdir /var/log/chronysystemctl restart chronydsystemctl enable chronyd 客户端安装并配置 1234567891011121314yum install chrony -yvim /etc/chrony.confcat /etc/chrony.conf | grep -v "^#" ...
使用二进制方式安装Docker
长期使用安装工具进行安装docker,今天用二进制方式手动安装一下docker环境。 1234567891011121314151617181920212223242526272829303132333435二进制包下载地址:https://download.docker.com/linux/static/stable/x86_64/#解压tar xf docker-20.10.9.tgz #拷贝二进制文件cp docker/* /usr/bin/#创建containerd的service文件,并且启动cat >/etc/systemd/system/containerd.service <<EOF[Unit]Description=containerd container runtimeDocumentation=https://containerd.ioAfter=network.target local-fs.target[Service]ExecStartPre=-/sbin/modprobe overlayExecStart=/usr/bin/con...
Kubernetes(K8S)内核优化常用参数详解
1234567891011121314151617181920212223242526272829303132333435363738net.ipv4.tcp_keepalive_time=600net.ipv4.tcp_keepalive_intvl=30net.ipv4.tcp_keepalive_probes=10net.ipv6.conf.all.disable_ipv6=1net.ipv6.conf.default.disable_ipv6=1net.ipv6.conf.lo.disable_ipv6=1net.ipv4.neigh.default.gc_stale_time=120net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0net.ipv4.conf.default.arp_announce=2net.ipv4.conf.lo.arp_announce=2net.ipv4.conf.all.arp_announce=2net.ipv4.ip_local_port_range= 4500...
CentOS&RHEL内核升级
在安装部署一些环境的时候,会要求内核版本的要求,可以通过YUM工具进行安装配置更高版本的内核,当然更新内核有风险,在操作之前慎重,严谨在生产环境操作! 安装源 1234# 为 RHEL-8或 CentOS-8配置源yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm# 为 RHEL-7 SL-7 或 CentOS-7 安装 ELRepo yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm 启用内核源,并安装 123456# 查看可用安装包yum --disablerepo="*" --enablerepo="elrepo-kernel" list available# 安装最新的内核# 我这里选择的是稳定版kernel-ml 如需更新长期维护版本kernel-lt yum --enablerepo=elrepo-kernel i...
网络抓包 tcpdump 使用指南
在网络问题的调试中,tcpdump应该说是一个必不可少的工具,和大部分linux下优秀工具一样,它的特点就是简单而强大。它是基于Unix系统的命令行式的数据包嗅探工具,可以抓取流动在网卡上的数据包。 监听所有网卡所有包 1tcpdump 监听指定网卡的包 1tcpdump -i ens18 监听指定IP的包 1tcpdump host 192.168.1.11 监听指定来源IP 1tcpdump src host 192.168.1.11 监听目标地址IP 1tcpdump dst host 192.168.1.11 监听指定端口 1tcpdump port 80 监听TCP 1tcpdump tcp 监听UDP 1tcpdump udp 监听192.168.1.11的tcp协议的80端口的数据包 1234567tcpdump tcp port 80 and src host 192.168.1.1111:59:07.836563 IP 192.168.1.11.39680 > hello.http: Flags [.], ack 867022485, ...
KubeSphere离线无网络环境部署
KubeSphere离线无网络环境部署 KubeSphere 是 GitHub 上的一个开源项目,是成千上万名社区用户的聚集地。很多用户都在使用 KubeSphere 运行工作负载。对于在 Linux 上的安装,KubeSphere 既可以部署在云端,也可以部署在本地环境中,例如 AWS EC2、Azure VM 和裸机等。 KubeSphere 为用户提供轻量级安装程序 KubeKey(该程序支持安装 Kubernetes、KubeSphere 及相关插件),安装过程简单而友好。KubeKey 不仅能帮助用户在线创建集群,还能作为离线安装解决方案。 前期准备所需包123456789101112131415161718192021#前期准备所需包root@hello:~# wget https://github.com/kubesphere/kubekey/releases/download/v1.2.1/kubekey-v1.2.1-linux-amd64.tar.gzroot@hello:~# tar xvf kubekey-v1.2.1-linux-amd64.tar.g...
GitHub+Hexo 搭建博客网站
Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub和Heroku上,是搭建博客的首选框架。 配置Github1234567891011121314151617181920212223242526272829303132333435363738root@hello:~/cby# git config --global user.name "cby-chen"root@hello:~/cby# git config --global user.email "cby@chenby.cn"root@hello:~/cby# ssh-keygen -t rsa -C "cby@chenby.cn"Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphras...
kubectl管理多个集群配置
需求描述:在一台机器上通过kubectl管理多个Kubernetes集群。 操作过程:将各集群的kubectl config文件中的证书内容转换,通过命令创建config文件;通过上下文切换使用不同集群。 123456789root@hello:~/.kube# lltotal 44drwxr-xr-x 3 root root 4096 Jan 6 16:23 ./drwx------ 21 root root 4096 Jan 6 16:22 ../drwxr-x--- 4 root root 4096 Jan 6 14:50 cache/-rw-r--r-- 1 root root 6252 Jan 6 16:21 config1-rw-r--r-- 1 root root 6254 Jan 6 16:22 config2root@hello:~/.kube#root@hello:~/.kube# 准备配置文件123456789101112131415161718192021222324252627282930313233343536373839404142434445r...
为kubernetes(k8s)单独配置kubectl工具
介绍Kubernetes API 是一个 HTTP REST API。这个 API 是真正的 Kubernetes 用户界面,通过它可以完全控制它。这意味着每个 Kubernetes 操作都作为 API 端点公开,并且可以通过对该端点的 HTTP 请求进行。因此,kubectl 的主要目的是向 Kubernetes API 发出 HTTP 请求: 配置apt软件源1234567891011121314151617181920212223242526272829303132333435root@hello:~# apt-get update && apt-get install -y apt-transport-httpsHit:1 http://192.168.1.104:81/ubuntu focal InReleaseHit:2 http://192.168.1.104:81/ubuntu focal-security InReleaseHit:3 http://192.168.1.104:81/ubuntu focal-updates InReleaseHi...
GitLab 安装部署使用
GitLab介绍 GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。 功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。 版本:GitLab 分为社区版(CE) 和企业版(EE)。 Gitlab的服务构成 Nginx:静态web服务器。 gitlab-shell:用于处理Git命令和修改authorized keys列表。(Ruby) gitlab-workhorse: 轻量级的反向代理服务器。(go) logrotate:日志文件管理工具。 postgresql:数据库。 redis:缓存数据库。 sidekiq:用于在后台执行队列任务(异步执行)。(Ruby) unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写) * GitLab Workhorse是一个敏捷的反...


























