当前位置: 首页 > news >正文

网站支付宝怎么做的网站建设优化哪家好

网站支付宝怎么做的,网站建设优化哪家好,作文网哪个平台好,深圳做网站排名公司个人主页#xff1a;征服bug-CSDN博客 kubernetes专栏#xff1a;kubernetes_征服bug的博客-CSDN博客 目录 1 集群组件 1.1 控制平面组件#xff08;Control Plane Components#xff09; 1.2 Node 组件 1.3 插件 (Addons) 2 集群架构详细 3 集群搭建[重点] 3.1 mi…  个人主页征服bug-CSDN博客 kubernetes专栏kubernetes_征服bug的博客-CSDN博客  目录 1 集群组件 1.1 控制平面组件Control Plane Components 1.2 Node 组件 1.3 插件 (Addons) 2 集群架构详细 3 集群搭建[重点] 3.1 minikube 3.2 裸机安装 集群组件 核心概念 集群安装 1 集群组件 集群 cluster : 将同一个软件服务多个节点组织到一起共同为系统提供服务过程称之为该软件的集群。redis 集群、es集群、mongo 等。 k8s 集群: 多个节点: 3 个节点 角色: 1.master 节点/control plane 控制节点 2. work node: 工作节点(pod 容器:应用程序容器) 当部署完 Kubernetes便拥有了一个完整的集群。一组工作机器称为节点 会运行容器化应用程序。每个集群至少有一个工作节点。工作节点会托管 Pod而 Pod 就是作为应用负载的组件。 控制平面管理集群中的工作节点和 Pod。 1.1 控制平面组件Control Plane Components 控制平面组件会为集群做出全局决策比如资源的调度。 以及检测和响应集群事件例如当不满足部署的 replicas 字段时 要启动新的 pod。 控制平面组件可以在集群中的任何节点上运行。 然而为了简单起见设置脚本通常会在同一个计算机上启动所有控制平面组件 并且不会在此计算机上运行用户容器。 kube-apiserver API server是 Kubernetes 控制平面的组件 该组件负责公开了 Kubernetes API负责处理接受请求的工作。 API server 是 Kubernetes 控制平面的前端。Kubernetes API 服务器的主要实现是 kube-apiserver。 kube-apiserver 设计上考虑了水平扩缩也就是说它可通过部署多个实例来进行扩缩。 你可以运行 kube-apiserver 的多个实例并在这些实例之间平衡流量。 etcd 一致且高度可用的键值存储用作 Kubernetes 的所有集群数据的后台数据库。 kube-scheduler kube-scheduler 是控制平面的组件 负责监视新创建的、未指定运行节点 node 的 Pods 并选择节点来让 Pod 在上面运行。调度决策考虑的因素包括单个 Pod 及 Pods 集合的资源需求、软硬件及策略约束、 亲和性及反亲和性规范、数据位置、工作负载间的干扰及最后时限。 kube-controller-manager kube-controller-manager 是控制平面的组件 负责运行控制器进程。从逻辑上讲 每个控制器都是一个单独的进程 但是为了降低复杂性它们都被编译到同一个可执行文件并在同一个进程中运行。 这些控制器包括 节点控制器Node Controller负责在节点出现故障时进行通知和响应 任务控制器Job Controller监测代表一次性任务的 Job 对象然后创建 Pods 来运行这些任务直至完成 端点分片控制器EndpointSlice controller填充端点分片EndpointSlice对象以提供 Service 和 Pod 之间的链接。 服务账号控制器ServiceAccount controller为新的命名空间创建默认的服务账号ServiceAccount。 cloud-controller-manager (optional 可选) 一个 Kubernetes 控制平面组件 嵌入了特定于云平台的控制逻辑。 云控制器管理器Cloud Controller Manager允许你将你的集群连接到云提供商的 API 之上 并将与该云平台交互的组件同与你的集群交互的组件分离开来。cloud-controller-manager 仅运行特定于云平台的控制器。 因此如果你在自己的环境中运行 Kubernetes或者在本地计算机中运行学习环境 所部署的集群不需要有云控制器管理器。与 kube-controller-manager 类似cloud-controller-manager 将若干逻辑上独立的控制回路组合到同一个可执行文件中 供你以同一进程的方式运行。 你可以对其执行水平扩容运行不止一个副本以提升性能或者增强容错能力。 下面的控制器都包含对云平台驱动的依赖 节点控制器Node Controller用于在节点终止响应后检查云提供商以确定节点是否已被删除 路由控制器Route Controller用于在底层云基础架构中设置路由 服务控制器Service Controller用于创建、更新和删除云提供商负载均衡器 1.2 Node 组件 节点组件会在每个节点上运行负责维护运行的 Pod 并提供 Kubernetes 运行环境。 kubelet kubelet 会在集群中每个节点node上运行。 它保证容器containers都运行在 Pods 中。 kubelet 接收一组通过各类机制提供给它的 PodSpecs 确保这些 PodSpecs 中描述的容器处于运行状态且健康。 kubelet 不会管理不是由 Kubernetes 创建的容器。 kube-proxy kube-proxy是集群中每个节点node上所运行的网络代理 实现 Kubernetes 服务Service概念的一部分。 kube-proxy 维护节点上的一些网络规则 这些网络规则会允许从集群内部或外部的网络会话与 Pod 进行网络通信。 如果操作系统提供了可用的数据包过滤层则 kube-proxy 会通过它来实现网络规则。 否则kube-proxy 仅做流量转发。 容器运行时Container Runtime 容器运行环境是负责运行容器的软件。 Kubernetes 支持许多容器运行环境例如 containerd、 CRI-0、Docker 以及 Kubernetes CRI 的其他任何实现。 1.3 插件 (Addons) DNS 尽管其他插件都并非严格意义上的必需组件但几乎所有 Kubernetes 集群都应该有集群 DNS因为很多示例都需要 DNS 服务。 Web 界面仪表盘 Dashboard 是 Kubernetes 集群的通用的、基于 Web 的用户界面。 它使用户可以管理集群中运行的应用程序以及集群本身 并进行故障排除。 容器资源监控 容器资源监控将关于容器的一些常见的时间序列度量值保存到一个集中的数据库中 并提供浏览这些数据的界面。 集群层面日志 集群层面日志机制负责将容器的日志数据保存到一个集中的日志存储中 这种集中日志存储提供搜索和浏览接口。 2 集群架构详细 总结 Kubernetes 集群由多个节点组成节点分为两类一类是属于管理平面的主节点/控制节点Master Node一类是属于运行平面的工作节点Worker Node。显然复杂的工作肯定都交给控制节点去做了工作节点负责提供稳定的操作接口和能力抽象即可。 3 集群搭建[重点] minikube 只是一个 K8S 集群模拟器只有一个节点的集群只为测试用master 和 worker 都在一起。 裸机安装 至少需要两台机器主节点、工作节点个一台需要自己安装 Kubernetes 组件配置会稍微麻烦点。 缺点配置麻烦缺少生态支持例如负载均衡器、云存储。 直接用云平台 Kubernetes 可视化搭建只需简单几步就可以创建好一个集群。 优点安装简单生态齐全负载均衡器、存储等都给你配套好简单操作就搞定 k3s 安装简单脚本自动完成。 优点轻量级配置要求低安装简单生态齐全。 3.1 minikube 3.2 裸机安装 0 环境准备 节点数量: 3 台虚拟机 centos7 硬件配置: 2G或更多的RAM2个CPU或更多的CPU硬盘至少30G 以上 网络要求: 多个节点之间网络互通每个节点能访问外网 1 集群规划 k8s-node110.15.0.5 k8s-node210.15.0.6 k8s-node310.15.0.7 2 设置主机名 $ hostnamectl set-hostname k8s-node1   $ hostnamectl set-hostname k8s-node2 $ hostnamectl set-hostname k8s-node3 3 同步 hosts 文件 如果 DNS 不支持主机名称解析还需要在每台机器的 /etc/hosts 文件中添加主机名和 IP 的对应关系 cat /etc/hosts EOF 192.168.2.4 k8s-node1 192.168.2.5 k8s-node2 192.168.2.6 k8s-node3 EOF 4 关闭防火墙 $ systemctl stop firewalld systemctl disable firewalld 5 关闭 SELINUX 注意: ARM 架构请勿执行,执行会出现 ip 无法获取问题! $ setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config 6 关闭 swap 分区 $ swapoff -a sed -ri s/.*swap.*/#/ /etc/fstab 7 同步时间 $ yum install ntpdate -y $ ntpdate time.windows.com 8 安装 containerd # 安装 yum-config-manager 相关依赖 $ yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加 containerd yum 源 $ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装 containerd $ yum install  -y containerd.io cri-tools   # 配置 containerd $ cat /etc/containerd/config.toml EOF disabled_plugins [restart] [plugins.linux] shim_debug true [plugins.cri.registry.mirrors.docker.io] endpoint [https://frz7i079.mirror.aliyuncs.com] [plugins.cri] sandbox_image registry.aliyuncs.com/google_containers/pause:3.2 EOF # 启动 containerd 服务 并 开机配置自启动 $ systemctl enable containerd systemctl start containerd systemctl status containerd ​ # 配置 containerd 配置 $ cat /etc/modules-load.d/containerd.conf EOF overlay br_netfilter EOF ​ # 配置 k8s 网络配置 $ cat /etc/sysctl.d/k8s.conf EOF net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 net.ipv4.ip_forward 1 EOF ​ # 加载 overlay br_netfilter 模块 modprobe overlay modprobe br_netfilter ​ # 查看当前配置是否生效 $ sysctl -p /etc/sysctl.d/k8s.conf 9 添加源 查看源 $ yum repolist 添加源 x86 $ cat EOF kubernetes.repo [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled1 gpgcheck0 repo_gpgcheck0 gpgkeyhttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF $ mv kubernetes.repo /etc/yum.repos.d/ 添加源 ARM $ cat EOF kubernetes.repo [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64 enabled1 gpgcheck0 repo_gpgcheck0 gpgkeyhttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF ​ $ mv kubernetes.repo /etc/yum.repos.d/ 11 安装 k8s # 安装最新版本 $ yum install -y kubelet kubeadm kubectl ​ # 指定版本安装 # yum install -y kubelet-1.26.0 kubectl-1.26.0 kubeadm-1.26.0 ​ # 启动 kubelet $ sudo systemctl enable kubelet sudo systemctl start kubelet sudo systemctl status kubelet 12 初始化集群 注意: 初始化 k8s 集群仅仅需要再在 master 节点进行集群初始化! $ kubeadm init \ --apiserver-advertise-address本机masterIP地址 \ --pod-network-cidr10.244.0.0/16 \ --image-repository registry.aliyuncs.com/google_containers \ --cri-socketunix:///var/run/containerd/containerd.sock ​ # 添加新节点 $ kubeadm token create --print-join-command --ttl0 $ kubeadm join 10.15.0.21:6443 --token xjm7ts.gu3ojvta6se26q8i --discovery-token-ca-cert-hash sha256:14c8ac5c04ff9dda389e7c6c505728ac1293c6aed5978c3ea9c6953d4a79ed34 13 配置集群网络 创建配置: kube-flannel.yml ,执行 kubectl apply -f kube-flannel.yml 注意: 只在主节点执行即可! --- kind: Namespace apiVersion: v1 metadata:name: kube-flannellabels:pod-security.kubernetes.io/enforce: privileged --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:name: flannel rules: - apiGroups:- resources:- podsverbs:- get - apiGroups:- resources:- nodesverbs:- get- list- watch - apiGroups:- resources:- nodes/statusverbs:- patch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata:name: flannel roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: flannel subjects: - kind: ServiceAccountname: flannelnamespace: kube-flannel --- apiVersion: v1 kind: ServiceAccount metadata:name: flannelnamespace: kube-flannel --- kind: ConfigMap apiVersion: v1 metadata:name: kube-flannel-cfgnamespace: kube-flannellabels:tier: nodeapp: flannel data:cni-conf.json: |{name: cbr0,cniVersion: 0.3.1,plugins: [{type: flannel,delegate: {hairpinMode: true,isDefaultGateway: true}},{type: portmap,capabilities: {portMappings: true}}]}net-conf.json: |{Network: 10.244.0.0/16,Backend: {Type: vxlan}} --- apiVersion: apps/v1 kind: DaemonSet metadata:name: kube-flannel-dsnamespace: kube-flannellabels:tier: nodeapp: flannel spec:selector:matchLabels:app: flanneltemplate:metadata:labels:tier: nodeapp: flannelspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/osoperator: Invalues:- linuxhostNetwork: truepriorityClassName: system-node-criticaltolerations:- operator: Existseffect: NoScheduleserviceAccountName: flannelinitContainers:- name: install-cni-plugin#image: flannelcni/flannel-cni-plugin:v1.1.0 for ppc64le and mips64le (dockerhub limitations may apply)image: docker.io/rancher/mirrored-flannelcni-flannel-cni-plugin:v1.1.0command:- cpargs:- -f- /flannel- /opt/cni/bin/flannelvolumeMounts:- name: cni-pluginmountPath: /opt/cni/bin- name: install-cni#image: flannelcni/flannel:v0.20.2 for ppc64le and mips64le (dockerhub limitations may apply)image: docker.io/rancher/mirrored-flannelcni-flannel:v0.20.2command:- cpargs:- -f- /etc/kube-flannel/cni-conf.json- /etc/cni/net.d/10-flannel.conflistvolumeMounts:- name: cnimountPath: /etc/cni/net.d- name: flannel-cfgmountPath: /etc/kube-flannel/containers:- name: kube-flannel#image: flannelcni/flannel:v0.20.2 for ppc64le and mips64le (dockerhub limitations may apply)image: docker.io/rancher/mirrored-flannelcni-flannel:v0.20.2command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgrresources:requests:cpu: 100mmemory: 50Milimits:cpu: 100mmemory: 50MisecurityContext:privileged: falsecapabilities:add: [NET_ADMIN, NET_RAW]env:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespace- name: EVENT_QUEUE_DEPTHvalue: 5000volumeMounts:- name: runmountPath: /run/flannel- name: flannel-cfgmountPath: /etc/kube-flannel/- name: xtables-lockmountPath: /run/xtables.lockvolumes:- name: runhostPath:path: /run/flannel- name: cni-pluginhostPath:path: /opt/cni/bin- name: cnihostPath:path: /etc/cni/net.d- name: flannel-cfgconfigMap:name: kube-flannel-cfg- name: xtables-lockhostPath:path: /run/xtables.locktype: FileOrCreate 14 查看集群状态 # 查看集群节点状态 全部为 Ready 代表集群搭建成功 $ kubectl get nodes NAME       STATUS   ROLES           AGE   VERSION k8s-node1   Ready   control-plane   21h   v1.26.0 k8s-node2   Ready   none         21h   v1.26.0 k8s-node3   Ready   none         21h   v1.26.0 ​ # 查看集群系统 pod 运行情况,下面所有 pod 状态为 Running 代表集群可用$ kubectl get pod -A NAMESPACE     NAME                               READY   STATUS   RESTARTS   AGE default       nginx                               1/1     Running   0         21h kube-flannel   kube-flannel-ds-gtq49               1/1     Running   0         21h kube-flannel   kube-flannel-ds-qpdl6               1/1     Running   0         21h kube-flannel   kube-flannel-ds-ttxjb               1/1     Running   0         21h kube-system   coredns-5bbd96d687-p7q2x            1/1     Running   0         21h kube-system   coredns-5bbd96d687-rzcnz            1/1     Running   0         21h kube-system   etcd-k8s-node1                      1/1     Running   0         21h kube-system   kube-apiserver-k8s-node1            1/1     Running   0         21h kube-system   kube-controller-manager-k8s-node1   1/1     Running   0         21h kube-system   kube-proxy-mtsbp                    1/1     Running   0         21h kube-system   kube-proxy-v2jfs                    1/1     Running   0         21h kube-system   kube-proxy-x6vhn                    1/1     Running   0         21h kube-system   kube-scheduler-k8s-node1            1/1     Running   0         21h
http://www.w-s-a.com/news/870318/

相关文章:

  • 企业形象型网站建设wordpress chess
  • 网站的域名起什么好处罗湖网站建设公司乐云seo
  • 网站的服务器在哪里sem推广软件选哪家
  • 科技网站欣赏婚庆公司经营范围
  • 网站后台管理系统php校园网站建设意见表填写
  • 网站建设问题调查常州百度推广代理公司
  • net网站开发学习谷歌优化培训
  • 企业网站公众号广东网站建设方便
  • 2008r2网站建设张店网站建设方案
  • 企业网站首页学生做的网站成品
  • 网站开发 架构设计企业信息管理系统的组成不包括
  • 网站维护模式网页传奇游戏平台排行
  • 企业网站改自适应蛋糕方案网站建设
  • 网站开发技术职责网站升级中html
  • 天网网站建设百度权重高的网站
  • 明年做哪些网站致富网站站长 感受
  • 东莞营销网站建设优化怎么做微信网站推广
  • 网站建设一个多少钱php网站服务器怎么来
  • 引流用的电影网站怎么做2012服务器如何做网站
  • 什么网站可以做推广广州安全信息教育平台
  • 网站开发具备的相关知识wordpress简约文字主题
  • asp网站伪静态文件下载seo外包公司哪家好
  • 淘宝客网站根目录怎么建个废品网站
  • 网站备案更改需要多久百度免费网站空间
  • 外发加工是否有专门的网站wordpress主页 摘要
  • 企业网站优化系统浙江建设信息港证书查询
  • 很多年前的51网站如何做跨境电商需要哪些条件
  • 网站建设中 请稍后访问互联网营销设计
  • 软文网站名称用户浏览网站的方式
  • 大兴模版网站搭建哪家好网站建设与管理管理课程