首页
关于
友链
Search
1
wlop 4K 壁纸 4k8k 动态 壁纸
1,517 阅读
2
Nacos持久化MySQL问题-解决方案
963 阅读
3
Docker搭建Typecho博客
765 阅读
4
滑动时间窗口算法
750 阅读
5
Nginx反向代理微服务配置
718 阅读
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
登录
Search
标签搜索
java
javase
docker
java8
springboot
thread
spring
分布式
mysql
锁
linux
redis
源码
typecho
centos
git
map
RabbitMQ
lambda
stream
少年
累计撰写
189
篇文章
累计收到
24
条评论
首页
栏目
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
页面
关于
友链
搜索到
30
篇与
的结果
2022-03-11
初识k8s
初识k8s简介:Kubernetes 简称k8s。是用于自动部署,扩展和管理容器化应用程序的开源系统。中文官网:https://kubernetes.io/zh/中文社区:https://www.kubernetes.org.cn/官方文档:https://kubernetes.io/zh/docs/home/社区文档:http://docs.kubernetes.org.cn/部署方式的进化https://kubernetes.io/zh/docs/concepts/overview/功能架构整体主从方式Master 节点架构kube-apiserver对外暴露K8S 的api 接口,是外界进行资源操作的唯一入口。提供认证、授权、访问控制、API 注册和发现等机制。etcdetcd 是兼具一致性和高可用性的键值数据库,可以作为保存Kubernetes 所有集群数据的后台数据库。Kubernetes 集群的etcd 数据库通常需要有个备份计划kube-scheduler主节点上的组件,该组件监视那些新创建的未指定运行节点的Pod,并选择节点让Pod 在上面运行。所有对k8s 的集群操作,都必须经过主节点进行调度kube-controller-manager在主节点上运行控制器的组件这些控制器包括:节点控制器(Node Controller): 负责在节点出现故障时进行通知和响应。副本控制器(Replication Controller): 负责为系统中的每个副本控制器对象维护正确数量的Pod。端点控制器(Endpoints Controller): 填充端点(Endpoints)对象(即加入Service与Pod)。服务帐户和令牌控制器(Service Account & Token Controllers): 为新的命名空间创建默认帐户和API 访问令牌Node 节点架构kubelet一个在集群中每个节点上运行的代理。它保证容器都运行在Pod 中。负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理;kube-proxy负责为Service 提供cluster 内部的服务发现和负载均衡;容器运行环境(Container Runtime)容器运行环境是负责运行容器的软件。Kubernetes 支持多个容器运行环境: Docker、containerd、cri-o、rktlet 以及任何实现Kubernetes CRI (容器运行环境接口)。fluentd是一个守护进程,它有助于提供集群层面日志集群层面的日志概念Container:容器,可以是docker 启动的一个容器Pod:k8s 使用Pod 来组织一组容器一个Pod 中的所有容器共享同一网络。Pod 是k8s 中的最小部署单元Volume声明在Pod 容器中可访问的文件目录可以被挂载在Pod 中一个或多个容器指定路径下支持多种后端存储抽象(本地存储,分布式存储,云存储…)Controllers:更高层次对象,部署和管理Pod;ReplicaSet:确保预期的Pod 副本数量Deplotment:无状态应用部署StatefulSet:有状态应用部署DaemonSet:确保所有Node 都运行一个指定PodJob:一次性任务Cronjob:定时任务Deployment:定义一组Pod 的副本数目、版本等通过控制器(Controller)维持Pod 数目(自动回复失败的Pod)通过控制器以指定的策略控制版本(滚动升级,回滚等)Service定义一组Pod 的访问策略Pod 的负载均衡,提供一个或者多个Pod 的稳定访问地址支持多种方式(ClusterIP、NodePort、LoadBalance)Label:标签,用于对象资源的查询,筛选Namespace:命名空间,逻辑隔离一个集群内部的逻辑隔离机制(鉴权,资源)每个资源都属于一个namespace同一个namespace 所有资源名不能重复不同namespace 可以资源名重复API我们通过kubernetes 的API 来操作整个集群。可以通过kubectl、ui、curl 最终发送http+json/yaml 方式的请求给API Server,然后控制k8s集群。注意k8s 里的所有的资源对象都可以采用yaml 或JSON 格式的文件定义或描述流程叙述1、通过Kubectl 提交一个创建RC(Replication Controller)的请求,该请求通过APIServer被写入etcd 中2、此时Controller Manager 通过API Server 的监听资源变化的接口监听到此RC 事件3、分析之后,发现当前集群中还没有它所对应的Pod 实例,4、于是根据RC 里的Pod 模板定义生成一个Pod 对象,通过APIServer 写入etcd5、此事件被Scheduler 发现,它立即执行一个复杂的调度流程,为这个新Pod 选定一个落户的Node,然后通过API Server 讲这一结果写入到etcd 中,6、目标Node 上运行的Kubelet 进程通过APIServer 监测到这个“新生的”Pod,并按照它的定义,启动该Pod 并任劳任怨地负责它的下半生,直到Pod 的生命结束。7、随后,我们通过Kubectl 提交一个新的映射到该Pod 的Service 的创建请求8、ControllerManager 通过Label 标签查询到关联的Pod 实例,然后生成Service 的Endpoints 信息,并通过APIServer 写入到etcd 中,9、接下来,所有Node 上运行的Proxy 进程通过APIServer 查询并监听Service 对象与其对应的Endpoints 信息,建立一个软件方式的负载均衡器来实现Service 访问到后端Pod 的流量转发功能。k8s 里的所有的资源对象都可以采用yaml 或JSON 格式的文件定义或描述
2022年03月11日
364 阅读
0 评论
6 点赞
2022-03-08
ES安装ik分词器
注意:不能用默认elasticsearch-plugin install xxx.zip 进行自动安装 https://github.com/medcl/elasticsearch-analysis-ik/releases?after=v6.4.2 对应es 版本安装。1、进入es 容器内部plugins 目录docker exec -it 容器id /bin/bash2、下载wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-anal ysis-ik-7.4.2.zip注意自己的es版本。3、解压unzip 下载的文件4、删除下载的压缩包rm –rf *.zip5、安装mv elasticsearch/ ik6、确认是否安装好了分词器进入文件夹cd ../bin查看系统的分词器mv elasticsearch/ ik
2022年03月08日
211 阅读
0 评论
2 点赞
2022-03-06
Docker安装Kibana
Docker安装Kibana一、拉取镜像,可视化检索数据docker pull kibana:7.4.2二、启动运行容器docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 \ -d kibana:7.4.2设置随机自启动docker update --restart=always kibana 注意:更改自己的ip,es端口,以及和es版本号对应。
2022年03月06日
214 阅读
0 评论
4 点赞
2022-03-06
Docker 安装ES
Docker 安装ES一、下载镜像文件,存储和检索数据docker pull elasticsearch:7.4.2二、创建实例创建文件,用于映射mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml设置权限chmod -R 777 /mydata/elasticsearch/三、启动配置镜像docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.4.2设置随机自启动docker update --restart=always elasticsearch 以后再外面装好插件重启即可;特别注意:-e ES_JAVA_OPTS="-Xms64m -Xmx256m" \ 测试环境下,设置ES 的初始内存和最大内存,否则导致过大启动不了ES
2022年03月06日
248 阅读
0 评论
3 点赞
2022-03-06
Docker安装Redis
docker安装redis一、docker拉取redis镜像docker pull redis二、创建实例并启动创建映射配置文件路径mkdir -p /mydata/redis/conf touch /mydata/redis/conf/redis.conf创建启动docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \ -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.confredis 自描述文件:https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf三、使用redis 镜像执行redis-cli 命令连接docker exec -it redis redis-cli四、设置随docker启动redis自动启动docker update --restart=always redis更多配置,请参考redis官网文档,https://redis.io/documentation。
2022年03月06日
373 阅读
0 评论
4 点赞
2022-02-28
Google Nexus私服搭建
第一步骤:下载nexus私服软件nexus-2.12.0-01-bundle第二不:安装进入nexus解压目录进入到bin目录:1、安装:执行nexus.bat install 2、启动:nexus.bat start第三步:查看访问路径进入config目录,打开nexus.properties即可看到端口号,项目命令nexus。第四步:浏览器打开http://127.0.0.1:8081/nexus/默认登录账号:admin/admin123
2022年02月28日
299 阅读
0 评论
2 点赞
2022-02-27
Docker搭建Typecho博客
博客一直使用firekylin搭建,最近看着typecho活跃度还可以,于是本周末用docker重新搭建了博客。一、环境说明操作系统:CentOS7.6技术:Docker、MySQL、PHP、Nginx使用工具:Xftp 7、Xshell 7、Notepad++博客系统:Typecho二、安装步骤Docker环境搭建Docker安装MySQLDocker安装PHPDocker安装Nginx三、遇到问题安装mysql、php、nginx时,映射文件路径错误,导致安装好后,找不到文件。Nginx配置时映射路径错误、80端口自动转发443端口,导致http访问一直追加路径。证书路径放置错误。Typecho初始化安装时,提示"对不起,无法连接数据库,请先检查数据库配置再继续进行安装"。四、解决方案通过docker log 容器,查看日志,一步步解决。添加异常提示代码:, $e->getMessage()instal.php第56行,添加ob_start();ip地址错误,默认localhost,docker安装时,需要改成公网ip或局域网ip。未创建typecho数据库。Nginx配置文件:server { listen 443 ssl http2 reuseport; server_name yanxizhu.com www.yanxizhu.com; root /var/www/html/yanxizhu.com; index index.php; ssl on; ssl_certificate /etc/nginx/conf.d/自己证书.crt; ssl_certificate_key /etc/nginx/conf.d/自己证书key.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; access_log /var/log/nginx/typecho_access.log main; if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } location ~ .*\.php(\/.*)*$ { include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; fastcgi_pass phpfpm:9000; fastcgi_split_path_info ^(.+\.php)(.*)$; } } server { listen 80; server_name yanxizhu.com www.yanxizhu.com; rewrite ^(.*) https://yanxizhu.com$1 permanent; }
2022年02月27日
765 阅读
0 评论
6 点赞
2022-02-27
Docker常用命令
Docker常用命令一、镜像查看docker容器镜像docker images拉去容器镜像docker pull 容器删除容器镜像docker rmi 容器二、容器安装容器,-d后台运行,-v映射路径, -name容器名称, -link链接外部容器,-p 端口号映射,-e设置密码docker run -d -v /mydata/nginx/html:/var/www/html -p 9000:9000 --link mysql:mysql --name php php:7.4-fpm启动容器docker start 容器关闭容器docker stop 容器重启容器docker restart 容器查看运行容器docker ps查看所有容器docker ps -s删除容器docker rm 容器查询当前容器docker container ls -all删除未启动容器映射docker container rm 容器查看容器映射信息docker inspect 容器 | grep Mounts -A 20进入容器内部docker exec -it 容器 /bin/bash设置容器随Docker启动docker update --restart=always 容器更多命令参考Docker官网
2022年02月27日
275 阅读
0 评论
3 点赞
2022-02-27
Docker安装Nginx
一、Docker安装Nginx拉取Nginx镜像docker pull nginx:1.10随便启动一个nginx 实例,只是为了复制出配置docker run -p 80:80 --name nginx -d nginx:1.10拷贝容器内的配置文件docker container cp nginx:/etc/nginx .重命名文件夹mv nginx conf 移动配置文件到/mydata/nginx下mv conf /mydata/nginx/终止原容器docker stop nginx删除原容器docker rm nginx运行Nginx容器,参数见-说明1docker run -d -p 80:80 -p 443:443 --name nginx -v /mydata/nginx/html:/var/www/html -v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d -v /mydata/nginx/logs:/var/log/nginx --link php:phpfpm --name nginx nginx:1.10设置随Docker启动docker update --restart=always nginx二、Nginx配置https协议SSL-443配置,在/mydata/nginx/conf/conf.d下新建配置文件yanxizhu.com.conf,内容如下:server { listen 443 ssl http2 reuseport; server_name yanxizhu.com www.yanxizhu.com; root /var/www/html/yanxizhu.com; index index.php; ssl on; ssl_certificate /etc/nginx/conf.d/自己证书.crt; ssl_certificate_key /etc/nginx/conf.d/自己证书key.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; access_log /var/log/nginx/typecho_access.log main; if (!-e $request_filename) { rewrite ^(.*)$ /index.php$1 last; } location ~ .*\.php(\/.*)*$ { include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; fastcgi_pass phpfpm:9000; fastcgi_split_path_info ^(.+\.php)(.*)$; } } server { listen 80; server_name yanxizhu.com www.yanxizhu.com; rewrite ^(.*) https://yanxizhu.com$1 permanent; }注意:映射路径、文件存放路径、证书路径。https://www.yanxizhu.com/ 博客SSL配置如上,使用的mysql、php、nginx、typecho搭建。
2022年02月27日
320 阅读
0 评论
7 点赞
1
2
3
4