哪个网站可以搭建网页网站建设合同 技术合同
news/
2025/9/28 6:52:16/
文章来源:
哪个网站可以搭建网页,网站建设合同 技术合同,asp在网站制作中的作用,老酒街wordpress城市的街道因为汽车数量的增长越来越繁忙#xff0c;对于驾车一族而言#xff0c;在热门区域寻找停车场更是无比头痛的事情。然而与此同时#xff0c;其实也许很多办公楼、住宅楼、酒店和公共车库中仍有许多付费停车的资源未被充分利用。 ParkBee就是这样一家为城市提供智能… 城市的街道因为汽车数量的增长越来越繁忙对于驾车一族而言在热门区域寻找停车场更是无比头痛的事情。然而与此同时其实也许很多办公楼、住宅楼、酒店和公共车库中仍有许多付费停车的资源未被充分利用。 ParkBee就是这样一家为城市提供智能停车解决方案的公司。ParkBee平台上显示着每位车主定位附近的可使用的停车场停车价格、停车位的空余情况等都是实时更新。ParkBee“打开”了城市中的所有停车场解决了停车难题既节约车主时间又帮助停车场最大限度创收。 ParkBee近期开始尝试在边缘位置进行容器部署。因为ParkBee的整体业务的一个重要部分就是大量的停车场与ParkBee合作的停车场有6000多家截至目前我们已服务于80万次停车服务。我们必须确保每一个停车场的容器都能按预期工作因此部署包含业务逻辑的应用程序至关重要。 ParkBee目前使用Kops部署Kubernetes公有云选择的是AWS。虽然这种方法适用于我们的基于云的服务但对于我们的边缘部署而言事情却并不是那么简单。我们的理想目标是在ParkBee合作的每一个停车场上都有一个Kubernetes集群集群中包含停车点位置的边缘Kubernetes节点以及AWS中的Kubernetes主节点。 半个月前Rancher Labs发布了K3s——一个被认为是史上最轻量的Kubernetes发行版。K3s的设计初衷就是为了能让像树莓派一样的低资源计算平台更容易安装和维护Kubernetes。 本质上讲K3s有望成为一个轻量级的、易于使用、只使用一个二进制文件的Kubernetes provisioner。K3s的发布公告里写到它的主要功能包括 生产级KubernetesK3s是一个符合标准的、已获CNCF官方认证的Kubernetes发行版。 一个没有主机依赖的二进制文件在任何设备上安装Kubernetes所需的一切都包含在这一个40MB的二进制文件当中不需要像KuberSpray、KubeADM或者RKE这样的外部安装程序。只需要一个命令用户就可以配置或者升级单节点K3s集群。 一条命令向集群添加节点若想向集群添加其他节点管理员只需在新节点上运行一条命令指向原始服务器通过安全token传递即可。 自动生成证书集群启动时在Kubernetes主服务器和节点之间建立TLS所需的所有证书都会被自动创建还会自动创建服务账号的加密密钥。 准备工作 在这篇文章中我将使用K3s的第一个版本v0.1.0。如果你想要按照我的文章来尝试一样的操作你需要准备 Raspberry Pi 3 B型号带有闪存了Raspbian Stretch Lite 的microSD卡。 本地网络为了方便起见我将在家里使用自己的局域网。 在你的笔记本电脑本地安装的Vagrant也可以使用Docker for Mac不过本质上来说K3s二进制文件还是为了Linux、arm64和armhf架构而构建的。 Vagrant 如果您正在使用Vagrant则可以在test目录中使用以下内容创建一个Vagrantfile # -*- mode: ruby -*-
# vi: set ftruby :VAGRANT_API 2Vagrant.configure(VAGRANT_API) do |config|config.vm.box bento/ubuntu-18.04config.vm.box_check_update falseconfig.vm.network forwarded_port, guest: 6443, host: 6443, host_ip: 0.0.0.0config.vm.provider virtualbox do |vb|vb.cpus 1vb.gui truevb.memory 2048vb.name k3s-masterendconfig.vm.provision :dockerconfig.vm.provision shell, inline: -SHELLsudo modprobe vxlancurl -sfL https://get.k3s.io | sh -hostnamectl set-hostname k3s-masterSHELL
end至此你将安装好了Docker以及K3s二进制文件。安装脚本也可以方便地将kubectl二进制文件符号链接到K3s因为它是内置的。 防火墙 小提示Raspberry Pi需要连接到LAN中的本地计算机。在macOS中确保转到设置安全和隐私防火墙然后单击“关闭 ”按钮。 对于Windows您可以参考Lifewire关于在Windows中关闭防火墙的文章 https://www.lifewire.com/how-to-disable-the-windows-firewall-2624505 运行K3s主节点 我们将先使用Vagrant机器作为K3s主节点; 一旦它开始正常工作我们将尝试将Raspberry Pi连接到本地LAN上的K3s主节点。 与任何Vagrant机器一样只需运行vagrant up一切就开始启动了。Vagrant将运行K3s自动安装脚本打开本地计算机上的6443端口以便K3s节点加入并创建稍后所需的连接令牌。 首先验证主节点安装是否成功 rootk3s-master:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k3s-master Ready none 4m51s v1.13.3-k3s.6 默认情况下K3s安装脚本不会将k3s-master标记为主节点但因为我们已经预先安装好了kubectl二进制文件我们现在可以解决这个问题 rootk3s-master:~# kubectl label node k3s-master kubernetes.io/rolemaster
node/k3s-master labeled
rootk3s-master:~# kubectl label node k3s-master node-role.kubernetes.io/master
node/k3s-master labeled K3s安装也不会污染NoSchedule的主节点。在此次测试中我们希望确保Raspberry Pi能够接收测试部署因此使用以下方法污染主节点 rootk3s-master:~# kubectl taint nodes k3s-master node-role.kubernetes.io/mastereffect:NoSchedule
node/k3s-master tainted 接下来我们需要token来将K3s节点连接到新主节点。该k3s server命令应该已经为您创建了这个/var/lib/rancher/k3s/server/node-token。运行以下命令 rootk3s-master:~# cat /var/lib/rancher/k3s/server/node-token
some-long-node-token 在Raspberry Pi上运行K3s节点 首先我们需要为树莓派准备一些初始步骤。首先使用以下命令来禁用swap dphys-swapfile swapoff \
dphys-swapfile uninstall \
update-rc.d dphys-swapfile remove 然后将以下文本附加到/boot/cmdline.txt的第一行 cgroup_enablecpuset cgroup_memory1 cgroup_enablememory 然后reboot树莓派。返回时重新登录然后运行以下命令下载k3s二进制文件。 curl -fSL https://github.com/rancher/k3s/releases/download/v0.1.0/k3s-armhf \-o /usr/local/bin/k3s \
chmod x /usr/local/bin/k3s 因为K3s已经不使用containerd了因此我们无需安装Docker 但最好还是验证一下是不是所有pod都在正常运行。通过运行以下命令可以快速安装Docker curl -fsSL https://get.docker.com | sh - \
usermod -aG docker pi 获取从主服务器创建的token并将其导出为环境变量 export NODE_TOKENsome-long-node-token 最后运行k3s agent命令以启动代理程序然后加入主节点。在我的这次使用中192.168.0.10是我网络中本地笔记本电脑上运行的Vagrant机器的地址。记得务必使用适当的地址替换该值。 k3s agent \
--docker \
--server https://192.168.0.10:6443 \
--token ${NODE_TOKEN} \/root/logs.txt 21 与K3s主节点类似这次安装不会使用正确的节点标签标记Raspberry Pi。在k3s-master上在Raspberry Pi加入集群后运行以下命令 rootk3s-master:~# kubectl label node raspberrypi kubernetes.io/rolenode
node/raspberrypi labeled
rootk3s-master:~# kubectl label node raspberrypi node-role.kubernetes.io/node
node/raspberrypi labeled 如果Raspberry Pi成功加入则在主服务器上运行该命令时应该会看到类似以下内容 rootk3s-master:~# kubectl get nodes
NAME STATUS ROLES AGE VERSION
raspberrypi Ready node 2m v1.13.3-k3s.6
k3s-master Ready master 20m v1.13.3-k3s.6 部署一个测试NGINX容器 为了确保K3s集群能真正正常工作我们可以部署一个测试NGINX pod和NodePort服务以确保Raspberry Pi创建了pod并成功打开了端口。 在K3s主Vagrant机器上使用以下内容在/root/nginx-test.yaml上创建一个文件 ---
apiVersion: v1
kind: Service
metadata:name: nginx-unprivileged-testnamespace: default
spec:type: NodePortselector:app: nginx-unprivileged-testports:- protocol: TCPnodePort: 30123port: 8080name: httptargetPort: 8080
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: nginx-unprivileged-testnamespace: default
spec:replicas: 1template:metadata:labels:app: nginx-unprivileged-testspec:containers:- image: nginxinc/nginx-unprivilegedname: nginx-unprivileged-testports:- containerPort: 8080name: httplivenessProbe:httpGet:path: /port: httpinitialDelaySeconds: 3periodSeconds: 3 然后最终将其部署到集群 rootk3s-master:~# kubectl apply -f /root/nginx-test.yaml
service/nginx-unprivileged-test created
deployment.extensions/nginx-unprivileged-test created 因为这是一项NodePort服务K3s将在Raspberry Pi上打开一个端口30123。在我的本地网络上Raspberry Pi位于192.168.0.43。 结 语 在我使用K3s的过程中注意到了一些事项在此想要提醒 在部署NGINX测试容器时我最初使用了Docker Hub中的常规nginx:latest镜像。但是似乎K3s还不支持低于1024的端口。在默认情况下nginx镜像会尝试在容器内打开端口80而这会导致一些问题。 本文中提到过通常Kubernetes发行版中都包含label和taint但K3s暂时没有完全实现这一点。 K3s将极大地促进Kubernetes在边缘计算场景的使用对这一点我充分相信。转载于:https://blog.51cto.com/12462495/2362190
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920296.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!