企业部分
文章平均质量分 88
KKang@
这个作者很懒,什么都没留下…
展开
-
Hadoop大数据平台高可用的实现
官网:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html创建hadoop用户useradd -u 1001 hadoopecho westos| passwd --stdin hadooptar zxf hadoop-3.2.1.tar.gztar zxf jdk-8u181-linux-x64.tar.gzln -s jdk1.8.0_181/ javaln原创 2021-03-28 21:36:25 · 1009 阅读 · 1 评论 -
MFS分布式文件系统实战(二)—— 高可用(pacemaker+corosync+Fence)
[root@server2 ~]# targetcli Warning: Could not load preferences file /root/.targetcli/prefs.bin.targetcli shell version 2.1.fb46Copyright 2011-2013 by Datera, Inc and others.For help on commands, type 'help'./> lso- / ............................原创 2021-03-22 22:17:34 · 816 阅读 · 0 评论 -
MFS分布式文件系统的部署(一)
curl “http://ppa.moosefs.com/MooseFS-3-el7.repo” > /etc/yum.repos.d/MooseFS.repoyum install moosefs-master moosefs-cgi moosefs-cgiserv moosefs-clisystemctl start moosefs-mastersystemctl enable --now moosefs-cgiserv.service[root@server1 yum.repos.d]#原创 2021-03-22 22:08:32 · 345 阅读 · 0 评论 -
Gearman+PHP+MySQL UDF异步实现MySQL到Redis的数据复制
yum install -y phptar zxf redis-5.0.8.tar.gzcd redis-5.0.8/yum install gcc -ymakemake install./install_server.sh/etc/init.d/redis_6379 start redis-clivim /etc/redis/6379.conf/etc/init.d/redis_6379 restartserver2yum install php-devel-5.4.16-原创 2021-03-13 22:05:03 · 332 阅读 · 0 评论 -
Git仓库的使用(Linux)
Git仓库的使用1 Git简介1.1 什么是Git和版本系统1.2 Git 和其它版本控制系统的差别1.3 Git的三种状态1.4 Git 项目的三个阶段1.5 Git的工作流程2 Git基础操作3 远程仓库1 Git简介1.1 什么是Git和版本系统Git是目前世界上最先进的分布式版本控制系统版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统1.2 Git 和其它版本控制系统的差别Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于原创 2021-03-13 20:19:15 · 303 阅读 · 0 评论 -
私有代码管理平台(Gitlab)和自动化部署平台(Jenkins)的搭建
yum install -y git[root@server1 ~]# mkdir test[root@server1 ~]# cd test/[root@server1 test]# git initInitialized empty Git repository in /root/test/.git/[root@server1 test]# ls -a. .. .git[root@server1 test]# cd .git/[root@server1 .git]# lsbranc原创 2021-03-13 19:39:57 · 1823 阅读 · 0 评论 -
K8s-------kubeapps的部署和应用
这里写自定义目录标题helm pull bitnami/kubeappsvim helm/kubeapps/values.yamlvim helm/kubeapps/charts/postgresql/values.yamlkubectl create namespace kubeappshelm install kubeapps -n kubeapps .kubectl -n kubeapps get sakubectl create serviceaccount kubeapps-o原创 2021-03-08 21:53:50 · 1435 阅读 · 0 评论 -
K8s-------Helm之metrics-server的部署
Helm部署metrics-server(1)创建命名空间:kubectl create namespace metrics-server(2)拉取metrics-server:helm pull bitnami/metrics-server(3)部署metrics-server:helm install metrics-server . -n metrics-server(4)查看metrics-server命名空间的信息:kubectl get all -n metrics-server原创 2021-03-05 22:07:23 · 1027 阅读 · 0 评论 -
K8s-----Helm之Mychart的部署(升级、回滚)
helm envmkdir /root/.local/share/helm/plugins/push -ptar zxf helm-push_0.9.0_linux_amd64.tar.gz -C /root/.local/share/helm/plugins/pushhelm pushcp /etc/docker/certs.d/reg.westos.org/ca.crt /etc/pki/ca-trust/source/anchors/update-ca-trusthelm repo ..原创 2021-03-05 22:06:05 · 1395 阅读 · 1 评论 -
K8s----Helm包管理工具(redis-ha和metrics-server)
K8s----Helm包管理工具1 Helm 部署2 Helm 部署redis应用1 Helm 部署(1)下载helm软件包官网:https://helm.sh/docs/intro/quickstart/(2)补齐helm命名echo "source <(helm completion bash)" >> ~/.bashrcsource ~/.bashrc(3)搜索官方helm hub chart库:helm search hub redis-ha(4)Helm原创 2021-03-04 13:49:12 · 633 阅读 · 1 评论 -
K8s-----HPA自动伸缩
K8s-----HPA自动伸缩1 HPA伸缩过程2 HPA进行伸缩算法2.1 cpu限制2.2 cpu和内存限制1 HPA伸缩过程收集HPA控制下所有Pod最近的cpu使用情况(CPU utilization),对比在扩容条件里记录的cpu限额(CPUUtilization)调整实例数(必须要满足不超过最大/最小实例数)每隔30s做一次自动扩容的判断CPU utilization的计算方法是用cpu usage(最近一分钟的平均值,通过metrics可以直接获取到)除以cpu request(这里cp原创 2021-03-04 13:48:52 · 1018 阅读 · 1 评论 -
K8s------Metrics-Server资源监控
Metrics-Server是集群核心监控数据的聚合器,用来替换之前的heapster。容器相关的 Metrics 主要来自于 kubelet 内置的 cAdvisor 服务,有了Metrics-Server之后,用户就可以通过标准的 Kubernetes API 来访问到这些监控数据。Metrics API 只可以查询当前的度量数据,并不保存历史数据。Metrics API URI 为 /apis/metrics.k8s.io/,在 k8s.io/metrics 维护。必须部署 metrics-s原创 2021-03-04 13:48:28 · 4634 阅读 · 2 评论 -
K8s存储------(五)访问控制(认证、授权(RBAC)、准入控制)
拉取私有仓库的镜像(1)应用文件:kubectl apply -f pod3.ymlapiVersion: v1kind: Podmetadata: name: podspec: containers: - name: redis-photo image: reg.westos.org/linux/redis-photon查看pod的信息:kubectl get pod,私有仓库镜像拉取失败查看pod的详细信息:kubectl describe pod p原创 2021-03-04 13:47:22 · 899 阅读 · 0 评论 -
K8s存储------(四)调度(亲和和反亲和)
kubectl run demo --image=busyboxplus -itkubectl apply -f demo.ymlkubectl get podkubectl describe pod nginxkubectl apply -f demo.ymlkubectl get podkubectl describe pod nginx节点标签kubectl apply -f demo.ymlapiVersion: v1kind: Podmetadata: name原创 2021-03-04 13:46:45 · 715 阅读 · 0 评论 -
k8s存储------(三)容器资源限制
k8s------容器资源限制1 k8s容器资源限制简介2 容器资源限制的类型2.1 内存限制示例2.2 CPU限制示例2.3 为namespace设置资源限制2.4 为namespace设置资源配额2.4 为 Namespace 配置Pod配额1 k8s容器资源限制简介(1)Kubernetes采用request和limit两种限制类型来对资源进行分配:request(资源需求):运行Pod的节点必须满足运行Pod的最基本需求才能运行Podlimit(资源限额):运行Pod期间,可能内存使用量会原创 2021-03-04 13:45:30 · 828 阅读 · 0 评论 -
K8s-----网络插件之Flannel
k8s通过CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有flannel,calico等。CNI插件存放位置:# cat /etc/cni/net.d/10-flannel.conflist插件使用的解决方案如下:虚拟网桥,虚拟网卡,多个容器共用一个虚拟网卡进行通信。多路复用:MacVLAN,多个容器共用一个物理网卡进行通信。硬件交换:SR-LOV,一个物理网卡可以虚拟出多个接口,这个性能最好。(1)容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现(2)pod之间的通原创 2021-03-01 23:31:59 · 1251 阅读 · 1 评论 -
K8s存储-----(二)Secret配置管理
kubectl get sakubectl describe sa defaultkubectl get secretskubectl get podkubectl describe pod demo-5756f5b97-xwv46## 在容器内执行指令[root@server2 mnt]# kubectl exec demo-5756f5b97-xwv46 -- ls /var/run/secrets/kubernetes.io/serviceaccountca.crtnamesp原创 2021-03-01 23:31:21 · 3399 阅读 · 0 评论 -
K8s存储-----(一)Configmap配置管理
Configmap用于保存配置数据,以键值对形式存储。configMap 资源提供了向 Pod 注入配置数据的方法。旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。典型的使用场景:填充环境变量的值设置容器内的命令行参数填充卷的配置文件创建ConfigMap的方式有4种(1)使用字面值创建kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2kubect原创 2021-03-01 23:31:03 · 826 阅读 · 0 评论 -
K8s------Metallb实现Load Balancer服务
https://metallb.universe.tf/installation/kubectl edit configmap -n kube-system kube-proxykubectl get pod -n kube-system |grep kube-proxy | awk ‘{system(“kubectl delete pod “$1” -n kube-system”)}’wget https://raw.githubusercontent.com/metallb/metallb/v原创 2021-03-01 23:30:40 · 2247 阅读 · 1 评论 -
K8s------(八)网络插件Calico
https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremisescalico是三层策略,点对点1 安装calico(1)wget https://docs.projectcalico.org/manifests/calico.yaml(2)将安装插件需要的镜像上传至harbor仓库禁止PIP工作模式:适用于互相访问的pod不在同一个网段中,跨网段访问的场景默认使用BGP工作模原创 2021-03-01 23:30:25 · 998 阅读 · 0 评论 -
K8s-----(七)Ingress服务
一种全局的、为了代理不同后端 Service 而设置的负载均衡服务,就是 Kubernetes 里的Ingress 服务。Ingress由两部分组成:Ingress controller和Ingress服务。Ingress Controller 会根据你定义的 Ingress 对象,提供对应的代理能力。业界常用的各种反向代理项目,比如 Nginx、HAProxy、Envoy、Traefik 等,都已经为Kubernetes 专门维护了对应的 Ingress Controller。https://kub原创 2021-02-27 01:22:36 · 5986 阅读 · 3 评论 -
K8s-----(六)Service的类型
Service 是由 kube-proxy 组件,加上 iptables 来共同实现的.kube-proxy 通过 iptables 处理 Service 的过程,需要在宿主机上设置相当多的 iptables 规则,如果宿主机有大量的Pod,不断刷新iptables规则,会消耗大量的CPU资源kubectl create deployment nginx --image=myapp:v1 --replicas=3kubectl expose deployment nginx --port=80 ku原创 2021-02-27 00:06:50 · 1646 阅读 · 1 评论 -
K8s-----(五)探针的使用
kubelet 使用存活探测器来知道什么时候要重启容器。 例如,存活探测器可以捕捉到死锁(应用程序在运行,但是无法继续执行后面的步骤)。 这样的情况下重启容器有助于让应用程序在有问题的情况下更可用。kubelet 使用就绪探测器可以知道容器什么时候准备好了并可以开始接受请求流量, 当一个 Pod 内的所有容器都准备好了,才能把这个 Pod 看作就绪了。 这种信号的一个用途就是控制哪个 Pod 作为 Service 的后端。 在 Pod 还没有准备好的时候,会从 Service 的负载均衡器中被剔除的。k原创 2021-02-26 21:56:51 · 2761 阅读 · 1 评论 -
K8s-----(四)控制器的使用
ReplicaSet编辑清单资源文件:vim deployment.ymlapiVersion: apps/v1kind: ReplicaSetmetadata: name: deploymentspec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containe原创 2021-02-26 20:46:13 · 701 阅读 · 0 评论 -
K8s-----(三)资源清单文件的编写
资源清单1 格式apiVersion: group/version ## api资源属于的组和版本,同一个组可以有多个版本 kind: ## 标记创建的资源类型,## k8s主要支持以下资源类别:Pod,ReplicaSet,Deployment,StatefulSet,DaemonSet,Job,Cronjob metadata: ## 元数据 name: ## 对像名称 namespace: ## 对象所属命名空间原创 2021-02-26 16:08:50 · 1076 阅读 · 0 评论 -
K8s-----(二)Pod管理
实验环境:(1)server1:搭建harbor仓库(2)k8s的部署: server2:k8s主节点 server3、server4:k8s子节点(3)k8s的各个节点可以使用harbor仓库 server1-4: vim /etc/hosts 172.25.12.1 server1 reg.westos.org mkdir /etc/docker/certs.d/red.westos.org -p server1: cp /certs/westos.org.c原创 2021-02-26 15:10:52 · 1551 阅读 · 0 评论 -
K8s----安装部署kubeadm
1 实验环境server2、server3、server4的配置(CPU:2核,memory:2048)(1) 关闭防火墙和selinux,部署docker-ce(2)设置docker开机启动:systemctl enable --now docker.service(3) 修改cgroup的驱动查看docker的驱动信息:docker info,默认的是cgroups的方式编辑配置文件修改cgroup的驱动类型:vim /etc/docker/daemon.json{ "exe原创 2021-02-01 10:05:12 · 315 阅读 · 0 评论 -
Docker----(十三)Portainer的部署
Portainer的部署Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境。 而且完全免费,基于容器化的安装方式,方便高效部署。(1)将部署portainer所需要的镜像上传至hardor仓库docker tag portainer/agent:latest red.westos.org/library/agent:latestdocker push red.westos.org/library/agent:latest dock原创 2021-02-01 10:02:53 · 994 阅读 · 0 评论 -
Docker----(十二)Docker stack集群管理
实验环境server1:搭建harbor仓库server2(swarm manager)、server3(swarm node)、server4(swarm node)安装docker,并配置好docker swarm集群,可以使用server1的hardor仓库1 harbor镜像仓库cd harbor/./install.sh --with-chartmuseum将镜像上传至harbor仓库docker tag myapp:v1 red.westos.org/library/m原创 2021-02-01 10:02:26 · 508 阅读 · 0 评论 -
Docker-----(十一)Docker Swarm部署集群
Docker Swarmdocker swarm initdocker node lsdocker swarm join --token SWMTKN-1-0tidfvhq3hi7u0mauqzt0atprzltsiv9v1eex2kc3gokee9xc6-97g5qfhya86favzdz0zkuvzbo 172.25.12.1:2377docker node lsdocker pull ikubernetes/myapp:v1docker tag ikubernetes/mya原创 2021-02-01 10:02:07 · 390 阅读 · 0 评论 -
Docker ----(十)Docker Compose部署Haproxy
vim /root/compose/docker-compose.ymlversion: "3.9"services: web1: image: nginx networks: - mynet volumes: - ./web1:/usr/share/nginx/html web2: image: nginx networks: - mynet volumes: - ./web2:/usr/s原创 2021-01-30 08:23:20 · 1164 阅读 · 0 评论 -
Docker----(九)Docker Machine的使用
ssh-keygenssh-copy-id server2docker-machine create --driver generic --generic-ip-address 172.25.12.2 server2netstat -antlpsystemctl status docker.servicecd /etc/systemd/system/docker.service.ddocker-machine env server2eval $(docker-machine原创 2021-01-30 08:23:05 · 503 阅读 · 0 评论 -
Docker-----(八)资源控制和安全加固
命名空间隔离的安全当docker run启动一个容器时,Docker将在后台为容器创建一个独立的命名空间。命名空间提供了最基础也最直接的隔离。与虚拟机方式相比,通过Linux namespace来实现的隔离不是那么彻底。容器只是运行在宿主机上的一种特殊的进程,那么多个容器之间使用的就还是同一个宿主机的操作系统内核。在 Linux 内核中,有很多资源和对象是不能被 Namespace 化的,比如:时间。docker run -d --name demo nginx控制组资源控制的安全当doc原创 2021-01-30 08:22:48 · 355 阅读 · 0 评论 -
Docker----(七)数据卷管理
Docker数据卷管理docker run -it --rm -v /data1:/data1 -v /data2:/data2:ro -v /mnt/file:/mnt/file:ro busyboxdocker run -d --name registry registrydocker inspect registrycd /var/lib/docker/volumes/737f8622aba697e5a63b9232cdacc8dfbfa86f60e015d9c190c74cbf原创 2021-01-30 08:22:29 · 496 阅读 · 1 评论 -
Docker----(六)原生网络及自定义网络
Docker自定义网络docker run -it --name demo1 busyboxdocker run -it --name demo2 busyboxdocker ps -adocker rm -f demo2docker run -it --name demo3 busyboxdockun -it --name demo2 busyboxdocker network lsdocker network create mynetdocker inspect myn原创 2021-01-30 00:32:17 · 785 阅读 · 0 评论 -
Docker---(五)Harbor仓库的搭建
tar zxf harbor-offline-installer-v1.10.1.tgzmv docker-compose-Linux-x86_64-1.27.0 /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composedocker-composecd harbor/vim harbor.yml./install.shdocker login red.westos.orgdocker tag原创 2021-01-26 23:58:46 · 323 阅读 · 1 评论 -
Docker----(四)Registry私有仓库的搭建
Docker Hubhttps://hub.docker.com/docker push kakang132/busybox:latestdocker pull kakang132/busybox:latestRegistry 工作原理上传镜像到本地仓库本地镜像在命名时需要加上仓库的ip和端口搭建私有仓库docker pull registrydocker history registry:latest[root@server1 ~]# docker histor原创 2021-01-26 23:58:30 · 518 阅读 · 1 评论 -
Docker-----(三) DockerHub仓库的使用
DockerHub仓库的使用1 Docker Hub的介绍2 Docker Hub的使用1 Docker Hub的介绍Docker Hub是一个由Docker公司负责维护的公共注册中心,它包含了超过15,000个可用来下载和构建容器的镜像,并且还提供认证、工作组结构、工作流工具(比如webhooks)、构建触发器以及私有工具(比如私有仓库可用于存储不想公开分享的镜像)。2 Docker Hub的使用(1)账号注册和登陆:https://hub.docker.com/(2)创建仓库查看创原创 2021-01-26 23:58:05 · 313 阅读 · 0 评论 -
Docker----(二)Docker commit和Dockerfile构建镜像
docker commit 构建新镜像三部曲运行容器修改容器将容器保存为新的镜像缺点:效率低、可重复性弱、容易出错使用者无法对镜像进行审计,存在安全隐患[root@server1 sysctl.d]# docker run -it --name demo busybox ##运行容器/ # touch file1 ##修改容器 (以下命令在容器内运行)/ # lsbin dev etc file1 home proc root sys tmp原创 2021-01-26 23:57:46 · 477 阅读 · 0 评论 -
Docker----(一)安装及镜像加速器
/etc/yum.repos.d/docker.repo[docker]name=docker-cebaseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/gpgcheck=0wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.reposed -i -e ‘/mirrors.cloud.a原创 2021-01-26 23:57:22 · 278 阅读 · 0 评论