详情页标题前

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理

详情页1

说明本文来自 GPU 云服务器用户实践征文,仅供学习和参考。

操作场景

本文介绍如何使用 GPU 云服务器实现边云协同处理。

配置环境

主机名 角色 IP 地址 服务 配置
VM-0-9-centos 云端 VM-0-9-centos 内网 IPVM-0-9-centos 公网 IP kuberbetes、docker、cloudcore 操作系统:Centos 7.4CPU:Intel Xeon Cascade Lake(2.5 GHz)RAM:80GBGPU:NVIDIA T4
berbai02 边端 berbai02 内网 IP docker、edgecore 操作系统:Ubuntu 18.04.6 LTSCPU:ARMv8 Processor rev 1 (v8l)RAM:4GBGPU:128CUDA core Maxwell
demo 边端 demo 内网 IP docker、edgecore

操作步骤

安装驱动

安装依赖包

1. 参考 使用标准登录方式登录 Linux 实例,登录 GPU 云服务器。2. 执行以下命令,安装 dkms 依赖包。

sudo yum install -y dkms gcc kernel-devel yum-utils

3. 安装完成后,依次执行以下命令进行检查。

# 检查是否已经安装dkmsrpm -qa | grep -i dkms
# 检查是否安装kernel-develrpm -qa | grep kernel-devel
# 检查是否安装GCCrpm -qa | grep gcc
# 检查是否安装yum-utilsrpm -qa | grep yum-utils

返回结果如下图所示,表示已成功安装依赖包。

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理



下载驱动

1. 前往 NVIDIA Driver Downloads,根据实际配置查找对应版本驱动。本文选择驱动版本如下图所示:

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理

2. 选择驱动进入下载页面,单击DOWNLOAD3. 在 “Download” 页面,右键单击 AGREE & DOWNLOAD,并在弹出的菜单中选择复制链接地址。如下图所示:

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理

4. 参考 使用标准登录方式登录 Linux 实例,登录 GPU 云服务器。5. 使用 wget 命令,粘贴 步骤3 中已获取的驱动下载链接,下载驱动。命令如下:

wget https://us.download.nvidia.com/tesla/510.47.03/NVIDIA-Linux-x86_64-510.47.03.run

若您需将驱动下载至本地再上传至 GPU 云服务器,则可参见 如何将本地文件拷贝到云服务器

安装驱动

1. 执行以下命令,添加执行权限。

chmod +x NVIDIA-Linux-x86_64-510.47.03.run

2. 执行以下命令,安装驱动。

sudo sh  NVIDIA-Linux-x86_64-510.47.03.run

3. 执行以下命令,验证驱动是否安装成功。

nvidia-smi

返回结果如下图所示,说明驱动已安装成功。

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理



安装 KubeEdge

安装前准备

1. 关闭防火墙
依次执行以下命令,关闭防火墙及自启动。

systemctl stop firewalld
systemctl disable firewalld

关闭后,可执行以下命令检查。

systemctl status firewalld

返回结果如下图所示:

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理

2. 禁用 SELINUX
执行以下命令,编辑
/etc/selinux/config 配置文件。

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

3. 关闭 swap
安装 Kubernetes 需关闭 swap,执行以下命令,修改
/etc/fstab 文件中的 swap 配置。

sed -ri 's/.*swap.*/#&/' /etc/fstab

4. 重启系统
执行以下命令,重启系统,使配置生效。

reboot

安装 Docker

1. 执行以下命令,设置镜像仓库。

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2. 执行以下命令,更新 yum 软件包索引。

yum makecache fast

3. 执行以下命令,安装 Docker CE。

yum install docker-ce docker-ce-cli containerd.io

4. 依次执行以下命令,启动 Docker 并设置自启动。

systemctl start docker
systemctl enable docker

5. 依次执行以下命令,测试 Docker 安装是否成功。

docker version
docker run hello-world
docker images

返回结果如下图所示,表示 Docker 已安装成功。

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理



部署 Kubernetes

1. 执行以下命令,配置 yum 源。

cat < /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg    http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOF

2. 依次执行以下命令,安装 kubeadm 及 kubectl。

yum makecache
yum install -y kubelet kubeadm kubectl ipvsadm
yum install kubelet-1.17.0-0.x86_64 kubeadm-1.17.0-0.x86_64 kubectl-1.17.0-0.x86_64

3. 依次执行以下命令,配置内核参数。

cat <  /etc/sysctl.d/k8s.confnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1vm.swappiness=0EOF
# 加载所有的 sysctl 配置sysctl --systemmodprobe br_netfiltersysctl -p /etc/sysctl.d/k8s.conf
# 加载ipvs相关内核模块# 如果重新开机,需要重新加载(可以写在 /etc/rc.local 中开机自动加载)modprobe ip_vsmodprobe ip_vs_rrmodprobe ip_vs_wrrmodprobe ip_vs_shmodprobe nf_conntrack_ipv4
# 查看是否加载成功lsmod | grep ip_vs

4. 执行以下命令,查看 kubeadm 对应的 k8s 组件镜像版本。

kubeadm config images list

返回如下结果,以下镜像都需下载。

k8s.gcr.io/kube-apiserver:v1.23.5k8s.gcr.io/kube-controller-manager:v1.23.5k8s.gcr.io/kube-scheduler:v1.23.5k8s.gcr.io/kube-proxy:v1.23.5k8s.gcr.io/pause:3.6k8s.gcr.io/etcd:3.5.1-0k8s.gcr.io/coredns/coredns:v1.8.6

5. 执行以下命令,拉取上述镜像。

kubeadm config images pull

拉取完成后,执行以下命令,查看镜像。

docker images

返回结果如下:

[root@VM-0-9-centos ~]# docker imagesREPOSITORY                           TAG       IMAGE ID       CREATED        SIZEk8s.gcr.io/kube-apiserver            v1.23.5   3fc1d62d6587   4 weeks ago    135MBk8s.gcr.io/kube-proxy                v1.23.5   3c53fa8541f9   4 weeks ago    112MBk8s.gcr.io/kube-controller-manager   v1.23.5   b0c9e5e4dbb1   4 weeks ago    125MBk8s.gcr.io/kube-scheduler            v1.23.5   884d49d6d8c9   4 weeks ago    53.5MBk8s.gcr.io/etcd                      3.5.1-0   25f8c7f3da61   5 months ago   293MBk8s.gcr.io/coredns                   1.8.6     a4ca41631cc7   6 months ago   46.8MBhello-world                          latest    feb5d9fea6a5   6 months ago   13.3kBk8s.gcr.io/pause                     3.6       6270bb605e12   7 months ago   683kB

配置 Kubelet(可选)

您可参考以下步骤,在云中心配置 Kubelet,验证 K8s 集群的部署是否正确。1. 执行以下命令,获取 Docker 的 cgroups。

DOCKER_CGROUPS=$(docker info | grep 'Cgroup' | cut -d' ' -f4)echo $DOCKER_CGROUPS

2. 执行以下命令,配置 kubelet 的 cgroups。

cat >/etc/sysconfig/kubelet<<EOFKUBELET_EXTRA_ARGS="--cgroup-driver=$DOCKER_CGROUPS --pod-infra-container-image=k8s.gcr.io/pause:3.1"EOF

3. 依次执行以下命令,启动 kubelet。

systemctl daemon-reload
systemctl enable kubelet && systemctl start kubelet

说明可通过 systemctl status kubelet 查看报错信息,该错误在运行 kubeadm init 生成 CA 证书后会被自动解决,此处可先忽略。

初始化集群

使用 kubeadm init 命令初始化集群,参数说明如下表:

参数 说明
--apiserver-advertise-address master 和 worker 间能互相通信的 IP
--kubernetes-version 指定版本
--token-ttl=0 token 永不过期
--apiserver-cert-extra-sans 节点验证证书阶段忽略错误

注意初始化完成后需记录返回信息最后的 node 节点添加到集群的命令。同时支持使用 kubeadm token create --print-join-command 进行查看。若您使用了云服务器,则可删除 --apiserver-advertise-address 配置。成功初始化过程如下所示:

kubeadm init --kubernetes-version=v1.23.5 \                      --pod-network-cidr=10.244.0.0/16 \                      --apiserver-advertise-address=  \                      --ignore-preflight-errors=Swap
[root@VM-0-9-centos ~]# kubeadm init --kubernetes-version=v1.23.5 \> --pod-network-cidr=10.244.0.0/16 \> --ignore-preflight-errors=Swap[init] Using Kubernetes version: v1.23.5
...
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at: https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join :6443 --token 1tyany.dxr5ymxu2g3j0dzl \ --discovery-token-ca-cert-hash sha256:a63bd724813ebe0c4aabadb8cc8c747b6c84c474b80d4104497542ec265ec36a

配置 kubectl

依次执行以下命令,进一步配置 kubectl,完成 master 节点安装。

rm -rf $HOME/.kube
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

查看 node 节点

执行以下命令,查看 node 节点。

kubectl get node

返回结果如下所示:

NAME            STATUS     ROLES                  AGE   VERSIONvm-0-9-centos   NotReady   control-plane,master   21m   v1.23.5

配置网络插件 flannel(可选)

Kubernetes v1.17及以上版本,可使用以下命令安装 flannel。如需了解更多关于 flannel 信息,请参见 flannel Github

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

配置完成后,可依次执行以下命令进行查看。

kubectl get node -owide
kubectl get pods -n kube-system
kubectl get svc

返回结果如下所示:

[root@VM-0-9-centos ~]# kubectl get node -owideNAME            STATUS     ROLES                  AGE   VERSIONvm-0-9-centos   NotReady   control-plane,master   31m   v1.23.5[root@VM-0-9-centos ~]# kubectl get pods -n kube-systemNAME                                    READY   STATUS                  RESTARTS   AGEcoredns-64897985d-9hfz2                 0/1     Pending                 0          31mcoredns-64897985d-9hr2z                 0/1     Pending                 0          31metcd-vm-0-9-centos                      1/1     Running                 0          31mkube-apiserver-vm-0-9-centos            1/1     Running                 0          31mkube-controller-manager-vm-0-9-centos   1/1     Running                 3          31mkube-flannel-ds-t4k2w                   0/1     Init:ImagePullBackOff   0          50skube-proxy-c6mck                        1/1     Running                 0          31mkube-scheduler-vm-0-9-centos            1/1     Running                 4          31m[root@VM-0-9-centos ~]# kubectl get svcNAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGEkubernetes   ClusterIP   10.96.0.1            443/TCP   32m

说明网络插件安装配置完成后,请等待几分钟,node 才会显示为 ready 状态。

配置 iptables 转发 IP

由于在初始化时删除了 --apiserver-advertise-address 参数,返回的节点加入集群命令为内网 IP,而本文中使用的云服务器内网不互通,故需配置 iptables 进行 IP 转发,将主节点公网 IP 转发至内网 IP,及配置 node 节点将主节点的内网 IP 转发至主节点的公网 IP。步骤如下:1. 在主节点 master 上,执行以下命令。

sudo iptables -t nat -A OUTPUT -d  -j DNAT --to-destination 

结合本文示例环境,则执行以下命令:

# cloudsudo iptables -t nat -A OUTPUT -d  -j DNAT --to-destination 

2. 在 node 节点上,执行以下命令。

sudo iptables -t nat -A OUTPUT -d  -j DNAT --to-destination 

结合本文示例环境,则执行以下命令:

# edgesudo iptables -t nat -A OUTPUT -d  -j DNAT --to-destination 

安装 KubeEdge

配置 Cloud

Cloud 端负责编译 KubeEdge 的相关组件与运行 cloudcore。配置步骤如下:1. 安装 golang
依次执行以下命令,下载并解压 golang 安装包。

wget https://golang.google.cn/dl/go1.18.1.linux-amd64.tar.gz
tar -zxvf go1.18.1.linux-amd64.tar.gz -C /usr/local

依次执行以下命令,修改 /etc/profile 文件配置 golang 环境。

cat >> /etc/profile << EOF# golang envexport GOROOT=/usr/local/goexport GOPATH=/data/gopathexport PATH=$PATH:$GOROOT/bin:$GOPATH/binEOF
mkdir -p /data/gopath && cd /data/gopath
mkdir -p src pkg bin

执行以下命令,使配置生效。

source /etc/profile

2. 执行以下命令,安装 Git。

yum install git

3. 执行以下命令,下载 KudeEdge 源码。

git clone https://github.com/kubeedge/kubeedge $GOPATH/src/github.com/kubeedge/kubeedge

部署 cloudcore

1. 依次执行以下命令,编译 kubeadm。

cd $GOPATH/src/github.com/kubeedge/kubeedge
make all WHAT=keadm

2. 执行以下命令,进入编译后的二进制文件目录 ./_output/local/bin

cd ./_output/local/bin

3. 执行以下命令,创建 cloud 节点。

./keadm init --advertise-address=""

返回结果如下所示:

[root@VM-0-9-centos kubeedge]# ./keadm init --advertise-address=""Kubernetes version verification passed, KubeEdge installation will start...
...
KubeEdge cloudcore is running, For logs visit: /var/log/kubeedge/cloudcore.logCloudCore started

4. 执行以下命令,查看 cloudcore 状态。

systemctl status cloudcore.service

配置 Edge

Edge 端也可以通过 keadm 进行配置,可以将 cloud 端编译生成的二进制可执行文件通过 scp 命令复制到 edge 端。步骤如下:1. 安装必要环境1.1 执行以下命令,查看操作系统版本。

uname -a

1.2 依次执行以下命令,树莓派需配置 ARMv6 版本的 golang 环境。

wget https://golang.google.cn/dl/go1.18.1.linux-armv6l.tar.gz
tar -zxvf go1.18.1.linux-armv6l.tar.gz -C /usr/local

1.3 执行以下命令,配置环境变量。

cat >> /home/pi/.bashrc << EOF# golang envexport GOROOT=/usr/local/goexport GOPATH=/data/gopathexport PATH=$PATH:$GOROOT/bin:$GOPATH/binEOF

1.4 执行以下命令,使配置生效。

source /home/pi/.bashrc

1.5 执行以下命令,安装 Git。

yum install git

1.6 执行以下命令,下载 KudeEdge 源码。

git clone https://github.com/kubeedge/kubeedge $GOPATH/src/github.com/kubeedge/kubeedge

2. 执行以下命令,在云端获取 token 令牌。token 令牌在加入边缘节点时使用。

./keadm gettoken

返回结果如下所示:

b6107885645ec34725a76e7cf3fd9d8bf130dfa5e6f37d4c51b6bc1bee49cd48.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTA2MjE0MDR9.ZMtQnF_oWYG4pijYO-SaxVtUYhHQSuCIauf5iWFkNMY

3. 部署 edgecore
依次执行以下命令,编译 keadm。

cd $GOPATH/src/github.com/kubeedge/kubeedge
make all WHAT=keadm
cd ./_output/local/bin

通过 keadm join 命令安装 edgecore 和 mqtt。它还提供了一个标志,通过它可以设置特定的版本。

./keadm join --cloudcore-ipport=:10000 --token=9c71cbbb512afd65da8813fba9a48d19ab8602aa27555af7a07cd44b508858ae.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTA3MDgwNjN9.-S0YBgSSAz6loQsi0XaTgFeWyHsHDm8E2SAefluVTJAHost has /usr/sbin/mosquitto already installed and running. Hence skipping the installation steps !!!
...
KubeEdge edgecore is running, For logs visit: journalctl -u edgecore.service -xe

注意--cloudcore-ipport 标志是强制性标志。--token 会自动为边缘节点应用证书。云和边缘端使用的 kubeEdge 版本应相同。4. 验证
边缘端在启动 edgecore 后,会与云端的 cloudcore 进行通信,K8s 进而会将边缘端作为一个 node 纳入 K8s 的管控。结果如下所示:

[root@VM-0-9-centos bin]# kubectl get nodeNAME            STATUS   ROLES                  AGE   VERSIONberbai02        Ready    agent,edge             32m   v1.22.6-kubeedge-v1.10.0demo            Ready    agent,edge             34m   v1.22.6-kubeedge-v1.10.0vm-0-9-centos   Ready    control-plane,master   27h   v1.23.5[root@VM-0-9-centos bin]# kubectl get pods -n kube-systemNAME                                    READY   STATUS              RESTARTS         AGEcoredns-64897985d-9hfz2                 1/1     Running             2 (69m ago)      27hcoredns-64897985d-9hr2z                 1/1     Running             2 (69m ago)      27hetcd-vm-0-9-centos                      1/1     Running             2 (69m ago)      27hkube-apiserver-vm-0-9-centos            1/1     Running             2 (69m ago)      27hkube-controller-manager-vm-0-9-centos   1/1     Running             13 (69m ago)     27hkube-flannel-ds-hsss5                   0/1     Error               10 (2m23s ago)   34mkube-flannel-ds-qp6xj                   0/1     Error               9 (4m46s ago)    36mkube-flannel-ds-t4k2w                   1/1     Running             2 (69m ago)      27hkube-proxy-6qcfb                        0/1     ContainerCreating   0                34mkube-proxy-c6mck                        1/1     Running             2 (69m ago)      27hkube-proxy-hvpz9                        1/1     Running             0                36mkube-scheduler-vm-0-9-centos            1/1     Running             14 (69m ago)     27h

说明若您在 K8s 集群中配置了 flannel 网络插件,则由于 edge 节点未部署 kubelet,调度到 edge 节点上的 flannel pod 会创建失败。这不影响 KubeEdge 的使用,可忽略该问题。

云边协同实例

KubeEdge Counter Demo 计数器是一个伪设备,用户无需任何额外的物理设备即可运行此演示。计数器在边缘侧运行,用户可以从云侧在 Web 中对其进行控制,也可以从云侧在 Web 中获得计数器值。1. 执行以下命令,下载源码。

git clone https://github.com/kubeedge/examples.git $GOPATH/src/github.com/kubeedge/examples

2. 依次执行以下命令,创建 device model。

cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds
kubectl create -f kubeedge-counter-model.yaml

3. 依次执行以下命令,创建 device,并根据实际情况修改 matchExpressions。

cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds
# 替换 "demo" 为您的 edge 节点名称sed -i "s#edge-node#demo#" kubeedge-counter-instance.yaml
kubectl create -f kubeedge-counter-instance.yaml

4. 部署云端应用4.1 依次执行以下命令,修改代码。云端应用 web-controller-app 用来控制边缘端的 pi-counter-app 应用,该程序默认监听的端口号为80,此处修改为8989。

cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/web-controller-app
sed -i "s#80#8989#" main.go

4.2 依次执行以下命令,构建镜像。注意构建镜像时,如果开启了 go mod,则请关闭。

make
make docker

4.3 依次执行以下命令,部署 web-controller-app。

cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds
kubectl create -f kubeedge-web-controller-app.yaml

5. 部署边缘端应用
边缘端的 pi-counter-app 应用受云端应用控制,主要与 mqtt 服务器通信,进行简单的计数功能。
5.1 依次执行以下命令,构建镜像。

cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/counter-mapper
make
make docker

5.2 依次执行以下命令,部署 pi-counter-app。

cd $GOPATH/src/github.com/kubeedge/examples/kubeedge-counter-demo/crds
kubectl create -f kubeedge-pi-counter-app.yaml

为防止 Pod 的部署卡在 ContainerCreating,请依次执行以下命令,直接通过 docker save、scp 和 docker load 命令将镜像发布到边缘端。

docker save -o kubeedge-pi-counter.tar kubeedge/kubeedge-pi-counter:v1.0.0
scp kubeedge-pi-counter.tar root@:/root
docker load -i kubeedge-pi-counter.tar

6. 查看运行效果
KubeEdge Demo 的云端部分和边缘端的部分都已经部署完毕,如下所示:

[root@VM-0-9-centos crds]# kubectl get pods -o wideNAME                                    READY   STATUS    RESTARTS   AGE   IP           NODE            NOMINATED NODE   READINESS GATESkubeedge-counter-app-55848d84d9-545kh   1/1     Running   0          27m      vm-0-9-centos              kubeedge-pi-counter-54b7997965-t2bxr    1/1     Running   0          31m      demo                       

6.1 执行 ON 命令在 Web 页面上选择 ON,并单击 Execute,可以在 edge 节点上通过以下命令查看执行结果:

# 修改 counter-container-id 为kubeedge-pi-counter容器iddocker logs -f counter-container-id

返回结果如下图所示:

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理

6.2 查看 counter STATUS
在 Web 页面上选择
STATUS,并单击 Execute,会在 Web 页面上返回 counter 当前的 status。如下图所示:

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理

6.3 执行 OFF 命令
在 Web 页面上选择
OFF,并单击 Execute,可以在 edge 节点上通过以下命令查看执行结果:

# 修改 counter-container-id 为kubeedge-pi-counter容器iddocker logs -f counter-container-id

返回结果如下图所示:

腾讯云GPU云服务器使用 GPU 服务器实现边云协同推理


GPU云服务器官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/137090.html

(0)
上一篇 2023年12月9日 上午12:51
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云容器服务关于 Service Ingress 组件管理模式升级的通知同尘科技

    Service 组件生命周期管理模式升级 主要变更点:禁止某些修改场景的变更。具体表现为:为防止 Service 在切换不同的 CLB 时发生资源异常问题,例如:CLB 可能会脱离 TKE 的管控导致资源泄漏,或无法创建出对应的 CLB 导致服务中断,TKE 对 Service 的生命周期的变更做了如下限制:1. 禁止服务访问方式中的公网 LB 访问与内网 …

    腾讯云 2023年12月9日
  • ADB MySQL湖仓版和ck性能对比 怎么样 ?-云小二-阿里云

    ADB MySQL湖仓版和ck性能对比 怎么样 ? 以下为热心网友提供的参考意见 AnalyticDB MySQL湖仓版是阿里云推出的一款产品,它基于计算存储分离架构打造,同时AnalyticDB MySQL湖仓版是阿里云推出的一款产品,它基于计算存储分离架构打造,同时支持低成本离线处理和高性能在线分析,适合ETL/BI报表/交互式查询/APP应用等多场景。…

    阿里云 2023年12月6日
  • 阿里云ECS云服务器计费FAQ-云淘科技

    本章节汇总了ECS计费的常见问题。 账号问题 为什么我不能购买按量付费实例? 没有通过支付宝实名认证能不能购买按量付费ECS实例? 按量付费实例怎么开具发票? 如果我的账号余额不足,系统会提醒我吗?什么时候提示? 账号余额不足时,按量付费实例上的数据会受影响吗? 是否支持5天内无理由退款? 是否支持百倍赔偿? 购买ECS实例后第一时间提出了退款,为什么还是扣…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 你曾经担任的角色是 CodeReviewer 还是 被 CodeReviewer ?-云小二-阿里云

    前言:阅读一篇技术文章,畅聊一个技术话题。本期文章推荐的是《一文浅谈CodeReview中的一些思考》。 CodeReview 是开发过程不可或缺的重要一环,如果将代码发布比作一个工厂的流水线,那么 CodeReview 就是流水线接近于终点的质检员,他要担负着对产品质量的保障工作,将“缺陷”从众多的“产品”中挑出,反向推动“生产方”改进生产质量。对此一起谈…

    2023年12月22日
  • 阿里云ECS云服务器如何通过内网调用API-云淘科技

    如果专有网络VPC类型的ECS实例没有设置公网IP,则无法调用API。本文介绍该类实例如何通过阿里云内网调用API。 背景信息 由于云服务器ECS提供的接入地址(Endpoint)为公网服务地址,当您的ECS实例没有分配公网带宽或者不存在公网IP地址时,无法使用阿里云CLI或者SDK等工具发起API请求。此时,您可以通过以下两种方式实现阿里云内网调用API。…

    阿里云服务器 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。