kubernetes 启用 PHP + Nginx 网页环境
kubernetes 启用 PHP + Nginx 网页环境传统安装方式进行安装步骤较多,使用kubernetes可以实现快速启用环境,在测试或者线上都可以做到快速 启用 编写 yaml 文件123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160[root@k8s-master01 ~]# vim PH...
Kubernetes 部署 MySQL 高可用读写分离
Kubernetes 部署 MySQL 集群简介: 在有状态应用中,MySQL是我们最常见也是最常用的。本文我们将实战部署一个一组多从的MySQL集群。 一、配置准备configMap1234567891011121314151617cat > mysql-configmap.yaml << EOF apiVersion: v1kind: ConfigMapmetadata: name: mysql labels: app: mysqldata: master.cnf: | # Apply this config only on the master. [mysqld] log-bin slave.cnf: | # Apply this config only on slaves. [mysqld] super-read-onlyEOF configMap可以将配置文件和镜像解耦开。上面的配置意思是,创建一个master.cnf文件配置内容为:log-bin,即开启bin-log日志,供主节点使用。创建一个sl...
安装 Metrics server
#安装 Metrics server Metrics Server 是 Kubernetes 内置自动缩放管道的可扩展、高效的容器资源指标来源。 Metrics Server 从 Kubelets 收集资源指标,并通过Metrics API在 Kubernetes apiserver 中公开它们,以供 Horizontal Pod Autoscaler和Vertical Pod Autoscaler使用。Metrics API 也可以通过 访问kubectl top,从而更容易调试自动缩放管道。 单机版1234567891011121314151617181920212223242526272829303132333435363738394041424344单机版 wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml查看镜像地址grep -rn image components.yaml 140: image: k8s.gcr...
二进制安装 Kubernetes(k8s)
二进制安装 Kubernetes(k8s)Kubernetes 开源不易,帮忙点个star,谢谢了 介绍kubernetes(k8s) 二进制安装 后续尽可能第一时间更新新版本文档 1.23.3 和 1.23.4 和 1.23.5 和 1.23.6 和 1.24.0 和 1.24.1 文档以及安装包已生成。 若不使用IPv6,不对主机进行配置IPv6地址即可,不影响后续,但是集群依旧是IPv6的。 (下载更快)我的网盘共享:https://pan.oiox.cn/s/PetV 手动项目地址:https://github.com/cby-chen/Kubernetes 脚本项目地址:https://github.com/cby-chen/Binary_installation_of_Kubernetes kubernetes 1.24 变化较大,详细见:https://kubernetes.io/zh/blog/2022/04/07/upcoming-changes-in-kubernetes-1-24/ 文档每个版本文档如下链接 https://github.com/cby-ch...
二进制安装Kubernetes(k8s) v1.24.1 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.24.1 IPv4/IPv6双栈Kubernetes 开源不易,帮忙点个star,谢谢了 介绍kubernetes二进制安装 后续尽可能第一时间更新新版本文档 1.23.3 和 1.23.4 和 1.23.5 和 1.23.6 和 1.24.0 和1.24.1 文档以及安装包已生成。 若不使用IPv6,不对主机进行配置IPv6地址即可,不影响后续,但是集群依旧是支持IPv6的。 https://github.com/cby-chen/Kubernetes/releases 手动项目地址:https://github.com/cby-chen/Kubernetes 脚本项目地址:https://github.com/cby-chen/Binary_installation_of_Kubernetes kubernetes 1.24 变化较大,详细见:https://kubernetes.io/zh/blog/2022/04/07/upcoming-changes-in-kubernetes-1-24/ 1.环境 主机名称...
修复kube-proxy证书权限过大问题
修复kube-proxy证书权限过大问题之前kube-proxy服务都是用admin集群证书,造成权限过大不安全,后续该问题,将在文档中修复 请关注 https://github.com/cby-chen/Kubernetes 创建生成证书配置文件1234567891011121314151617181920212223242526272829303132333435363738394041详细见:https://github.com/cby-chen/Kubernetes#23%E5%88%9B%E5%BB%BA%E8%AF%81%E4%B9%A6%E7%9B%B8%E5%85%B3%E6%96%87%E4%BB%B6cat > ca-config.json << EOF { "signing": { "default": { "expiry": "876000h" }, "profiles"...
创建用户认证授权的 kubeconfig 文件
创建用户认证授权的 kubeconfig 文件当我们安装好集群后,如果想要把 kubectl 命令交给用户使用,就不得不对用户的身份进行认证和对其权限做出限制。 下面以创建一个 cby 用户并将其绑定到 cby 和 chenby 的 namespace 为例说明。 创建生成证书配置文件123456789101112131415161718192021222324252627282930313233343536373839404142详细见:https://github.com/cby-chen/Kubernetes#23%E5%88%9B%E5%BB%BA%E8%AF%81%E4%B9%A6%E7%9B%B8%E5%85%B3%E6%96%87%E4%BB%B6cat > ca-config.json << EOF { "signing": { "default": { "expiry": "876000h" }, ...
关于 ServiceAccounts 及其 Secrets 的重大变化
关于 ServiceAccounts 及其 Secrets 的重大变化kubernetes v1.24.0 更新之后进行创建 ServiceAccount 不会自动生成 Secret 需要对其手动创建 创建 ServiceAccount1234567cat<<EOF | kubectl apply -f -apiVersion: v1kind: ServiceAccountmetadata: name: cby namespace: defaultEOF 查看 ServiceAccount123root@cby:~# kubectl get serviceaccounts cbyNAME SECRETS AGEcby 0 9s 查看 ServiceAccount 详细详细,没有对 Token 进行创建1234567891011121314root@cby:~# kubectl describe serviceaccounts cbyName: ...
二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从)
二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从)Kubernetes 开源不易,帮忙点个star,谢谢了 介绍kubernetes二进制安装 后续尽可能第一时间更新新版本文档 1.23.3 和 1.23.4 和 1.23.5 和 1.23.6 和 1.24.0 文档以及安装包已生成。 若不使用IPv6,不对主机进行配置IPv6地址即可,不影响后续,但是集群依旧是IPv6的。 https://github.com/cby-chen/Kubernetes/releases 手动项目地址:https://github.com/cby-chen/Kubernetes 脚本项目地址:https://github.com/cby-chen/Binary_installation_of_Kubernetes kubernetes 1.24 变化较大,详细见:https://kubernetes.io/zh/blog/2022/04/07/upcoming-changes-in-kubernetes-1-24/ 1.环境 主机名称 IP...
kubernetes(k8s)常用deploy模板 并验证
kubernetes常用deploy模板,并验证 编写deploy配置文件123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778root@hello:~# cat deploy.yaml apiVersion: apps/v1kind: Deploymentmetadata: name: hostname-test-cby labels: name: hostname-test-cbyspec: # 副本数 replicas: 10 # 标签选择器 selector: matchLabels: name: hostname-test-cby # 更新策略 strategy: rollingUpdate: maxSurge: 3 # 更新最大数量 maxUnavailable...
kubernetes (k8s) v1.24.0 安装dashboard面板
kubernetes (k8s) v1.24.0 安装dashboard面板介绍v1.24.0 使用之前的安装方式,在安装过程中会有一些异常,此文档已修复已知问题。 下载所需配置1234567891011121314151617181920212223242526272829root@k8s-master01:~# wget https://raw.githubusercontent.com/cby-chen/Kubernetes/main/yaml/dashboard.yamlroot@k8s-master01:~# root@k8s-master01:~# kubectl apply -f dashboard.yamlnamespace/kubernetes-dashboard unchangedserviceaccount/kubernetes-dashboard unchangedservice/kubernetes-dashboard configuredsecret/kubernetes-dashboard-certs unchangedsecret/kuberne...
使用kubeadm初始化IPV4/IPV6集群
使用kubeadm初始化IPV4/IPV6集群 图片 CentOS 配置YUM源1234567891011121314151617181920cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=kubernetesbaseurl=https://mirrors.ustc.edu.cn/kubernetes/yum/repos/kubernetes-el7-$basearchenabled=1EOFsetenforce 0yum install -y kubelet kubeadm kubectl# 如安装老版本# yum install kubelet-1.16.9-0 kubeadm-1.16.9-0 kubectl-1.16.9-0systemctl enable kubelet && systemctl start kubelet# 将 SELinux 设置为 permissive 模式(相当于将其禁用)sudo setenforce 0sudo sed -i ...
部署kubernetes官网博客
部署kubernetes官网博客访问 https://kubernetes.io/ 有些时候不问题,部署离线内网使用官网以及博客, 各位尝鲜可以访问 https://doc.oiox.cn/ 安装docker12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364root@cby:~# curl -sSL https://get.daocloud.io/docker | sh# Executing docker install script, commit: 0221adedb4bcde0f3d18bddda023544fc56c29d1+ sh -c apt-get update -qq >/dev/null+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certific...
使用kubeadm快速启用一个集群
使用kubeadm快速启用一个集群 CentOS 配置YUM源12345678910111213141516cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=kubernetesbaseurl=https://mirrors.ustc.edu.cn/kubernetes/yum/repos/kubernetes-el7-$basearchenabled=1EOFsetenforce 0yum install -y kubelet kubeadm kubectlsystemctl enable kubelet && systemctl start kubelet# 将 SELinux 设置为 permissive 模式(相当于将其禁用)sudo setenforce 0sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/configsudo systemctl enable...
二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈介绍kubernetes二进制安装 1.23.3 和 1.23.4 和 1.23.5 和 1.23.6 和 1.24.0 文档以及安装包已生成。 后续尽可能第一时间更新新版本文档 https://github.com/cby-chen/Kubernetes/releases 手动项目地址:https://github.com/cby-chen/Kubernetes 脚本项目地址:https://github.com/cby-chen/Binary_installation_of_Kubernetes kubernetes 1.24 变化较大,详细见:https://kubernetes.io/zh/blog/2022/04/07/upcoming-changes-in-kubernetes-1-24/ 1.环境 主机名称 IP地址 说明 软件 Master01 10.0.0.81 master节点 kube-apiserver、kube-controller-manager、kub...
Kubernetes(k8s)实现IPv4/IPv6网络双栈
背景如今IPv4IP地址已经使用完毕,未来全球会以IPv6地址为中心,会大力发展IPv6网络环境,由于IPv6可以实现给任何一个设备分配到公网IP,所以资源是非常丰富的。 配置hosts123456789101112131415161718192021222324252627[root@k8s-master01 ~]# vim /etc/hosts[root@k8s-master01 ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain62408:8207:78ce:7561::10 k8s-master012408:8207:78ce:7561::20 k8s-master022408:8207:78ce:7561::30 k8s-master032408:8207:78ce:7561:...
使用Kubernetes快速启用一个静态页面
使用Kubernetes快速启用一个静态页面将html静态页面放置在nfs目录下,通过Deployment启动时挂在到nginx页面目录即可 查看yaml内容12345678910111213141516171819202122232425262728293031323334353637383940414243444546root@hello:~# cat cby.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: chenbyspec: replicas: 3 selector: matchLabels: app: chenby template: metadata: labels: app: chenby spec: containers: - name: chenby image: nginx resources: limits: memory: "128Mi&...
kubernetes(k8s) 安装 Prometheus + Grafana
kubernetes(k8s) 安装 Prometheus + Grafana组件说明MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如 kubectl,hpa,scheduler等。 PrometheusOperator:是一个系统监测和警报工具箱,用来存储监控数据。 NodeExporter:用于各node的关键度量指标状态数据。 KubeStateMetrics:收集kubernetes集群内资源对象数 据,制定告警规则。 Prometheus:采用pull方式收集apiserver,scheduler,controller-manager,kubelet组件数 据,通过http协议传输。 Grafana:是可视化数据统计和监控平台。 克隆代码12345678910root@hello:~# git clone -b release-0.10 https://github.com/prometheus-operator/kube-prometheus.gitCloning into 'kub...
二进制安装Kubernetes(k8s) v1.23.6
二进制安装Kubernetes(k8s) v1.23.6背景kubernetes二进制安装 1.23.3 和 1.23.4 和 1.23.5 和 1.23.6 文档以及安装包已生成。 后续尽可能第一时间更新新版本文档 https://github.com/cby-chen/Kubernetes/releases 脚本项目地址:https://github.com/cby-chen/Binary_installation_of_Kubernetes 手动项目地址:https://github.com/cby-chen/Kubernetes 1.环境 主机名称 IP地址 说明 软件 Master01 192.168.1.81 master节点 kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client Master02 192.168.1.82 master节点 kube-apiserver、kube-controller-manager、kube-sc...
在k8s(kubernetes)上安装 ingress V1.1.3
介绍Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由。流量路由由 Ingress 资源上定义的规则控制。 下面是一个将所有流量都发送到同一 Service 的简单 Ingress 示例: 写入配置文件,并执行12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116...
在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...

























