MindX DL(昇腾深度学习组件)是支持 Atlas 800 训练服务器、Atlas 800 推理服务器的深度学习组件参考设计,提供昇腾 AI 处理器资源管理和监控、昇腾 AI 处理器优化调度、分布式训练集合通信配置生成等基础功能,快速使能合作伙伴进行深度学习平台开发。

图片

    操作系统使用的是Ubuntu-1804,CPU是华为自研ARM架构。

图片

一、安装前准备

  1. 配置apt网络源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
hello@ubuntu:/etc/apt$ sudo cp sources.list~ sources.list

hello@ubuntu:/etc/apt$ cat sources.list

#

# deb cdrom:[Ubuntu-Server 18.04.5 LTS _Bionic Beaver_ - Release arm64 (20200810)]/ bionic main restricted

#deb cdrom:[Ubuntu-Server 18.04.5 LTS _Bionic Beaver_ - Release arm64 (20200810)]/ bionic main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://cn.ports.ubuntu.com/ubuntu-ports/ bionic main restricted
# deb-src http://cn.ports.ubuntu.com/ubuntu-ports/ bionic main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted
# deb-src http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://cn.ports.ubuntu.com/ubuntu-ports/ bionic universe
# deb-src http://cn.ports.ubuntu.com/ubuntu-ports/ bionic universe
deb http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-updates universe
# deb-src http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://cn.ports.ubuntu.com/ubuntu-ports/ bionic multiverse
# deb-src http://cn.ports.ubuntu.com/ubuntu-ports/ bionic multiverse
deb http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-updates multiverse
# deb-src http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src http://cn.ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

deb http://ports.ubuntu.com/ubuntu-ports bionic-security main restricted
# deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports bionic-security universe
# deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security universe
deb http://ports.ubuntu.com/ubuntu-ports bionic-security multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports bionic-security multiverse

    2.配置kubernetes网络源

1
2
3
4
root@ubuntu:~/123/offline-pkg-arm64# cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
> deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
> EOF

    3.创建目录并下载基础包

1
2
3
4
5
6
root@ubuntu:~/123# mkdir offline-pkg-arm64
root@ubuntu:~/123# cd offline-pkg-arm64/
root@ubuntu:~/123/offline-pkg-arm64# sudo apt update
root@ubuntu:~/123/offline-pkg-arm64# apt-get download conntrack cri-tools haveged keyutils libhavege1 libltdl7 libnfsidmap2 libtirpc-dev libtirpc1 nfs-common nfs-kernel-server rpcbind socat sshpass
root@ubuntu:~/123/offline-pkg-arm64# wget --no-check-certificate https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/arm64/docker-ce_18.06.3~ce~3-0~ubuntu_arm64.deb
root@ubuntu:~/123/offline-pkg-arm64# apt-get download kubelet=1.17.3-00 kubeadm=1.17.3-00 kubectl=1.17.3-00 kubernetes-cni=0.8.6-00

    4.下载docker镜像并导出保存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
root@ubuntu:~/123# mkdir docker_images
root@ubuntu:~/123# cd docker_images/
root@ubuntu:~/123/docker_images# docker pull calico/node:v3.11.3
root@ubuntu:~/123/docker_images# docker save -o calico-node_arm64.tar.gz calico/node:v3.11.3
root@ubuntu:~/123/docker_images# docker pull calico/pod2daemon-flexvol:v3.11.3
root@ubuntu:~/123/docker_images# docker save -o calico-pod2daemon-flexvol_arm64.tar.gz calico/pod2daemon-flexvol:v3.11.3
root@ubuntu:~/123/docker_images# docker pull calico/cni:v3.11.3
root@ubuntu:~/123/docker_images# docker save -o calico-cni_arm64.tar.gz calico/cni:v3.11.3
root@ubuntu:~/123/docker_images# docker pull calico/kube-controllers:v3.11.3
root@ubuntu:~/123/docker_images# docker save -o calico-kube-controllers_arm64.tar.gz calico/kube-controllers:v3.11.3
root@ubuntu:~/123/docker_images# docker pull coredns/coredns:1.6.5
root@ubuntu:~/123/docker_images# docker save -o coredns_arm64.tar.gz coredns/coredns:1.6.5
root@ubuntu:~/123/docker_images# docker pull cruse/etcd-arm64:3.4.3-0
root@ubuntu:~/123/docker_images# docker save -o etcd_arm64.tar.gz cruse/etcd-arm64:3.4.3-0
root@ubuntu:~/123/docker_images# docker pull cruse/kube-apiserver-arm64:v1.17.3
root@ubuntu:~/123/docker_images# docker save -o kube-apiserver_arm64.tar.gz cruse/kube-apiserver-arm64:v1.17.3
root@ubuntu:~/123/docker_images# docker pull cruse/kube-controller-manager-arm64:v1.17.3
root@ubuntu:~/123/docker_images# docker save -o kube-controller-manager_arm64.tar.gz cruse/kube-controller-manager-arm64:v1.17.3
root@ubuntu:~/123/docker_images# docker pull cruse/kube-proxy-arm64:v1.17.3-beta.0
root@ubuntu:~/123/docker_images# docker save -o kube-proxy_arm64.tar.gz cruse/kube-proxy-arm64:v1.17.3-beta.0
root@ubuntu:~/123/docker_images# docker pull cruse/kube-scheduler-arm64:v1.17.3-beta.0
root@ubuntu:~/123/docker_images# docker save -o kube-scheduler_arm64.tar.gz cruse/kube-scheduler-arm64:v1.17.3-beta.0
root@ubuntu:~/123/docker_images# docker pull cruse/pause-arm64:3.1
root@ubuntu:~/123/docker_images# docker save -o pause_arm64.tar.gz cruse/pause-arm64:3.1
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images# docker login -u 15648907522 -p RtZOXgmpYAQd5cj93uFCabNXUWB7wOftGw4pFdcal4XZH4bf06hvFxTOrYtr1nRao ascendhub.huawei.com
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images# docker pull ascendhub.huawei.com/public-ascendhub/vc-controller-manager_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker pull ascendhub.huawei.com/public-ascendhub/vc-scheduler_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker pull ascendhub.huawei.com/public-ascendhub/vc-webhook-manager_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker pull ascendhub.huawei.com/public-ascendhub/vc-webhook-manager-base_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker pull ascendhub.huawei.com/public-ascendhub/hccl-controller_arm64:v20.2.0
root@ubuntu:~/123/docker_images# docker pull ascendhub.huawei.com/public-ascendhub/ascend-k8sdeviceplugin_arm64:v20.2.0
root@ubuntu:~/123/docker_images# docker pull ascendhub.huawei.com/public-ascendhub/cadvisor_arm64:v0.34.0-r40
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images# docker tag ascendhub.huawei.com/public-ascendhub/vc-controller-manager_arm64:v1.0.1-r40 volcanosh/vc-controller-manager:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker tag ascendhub.huawei.com/public-ascendhub/vc-scheduler_arm64:v1.0.1-r40 volcanosh/vc-scheduler:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker tag ascendhub.huawei.com/public-ascendhub/vc-webhook-manager_arm64:v1.0.1-r40 volcanosh/vc-webhook-manager:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker tag ascendhub.huawei.com/public-ascendhub/vc-webhook-manager-base_arm64:v1.0.1-r40 volcanosh/vc-webhook-manager-base:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker tag ascendhub.huawei.com/public-ascendhub/hccl-controller_arm64:v20.2.0 hccl-controller:v20.2.0
root@ubuntu:~/123/docker_images# docker tag ascendhub.huawei.com/public-ascendhub/ascend-k8sdeviceplugin_arm64:v20.2.0 ascend-k8sdeviceplugin:v20.2.0
root@ubuntu:~/123/docker_images# docker tag ascendhub.huawei.com/public-ascendhub/cadvisor_arm64:v0.34.0-r40 google/cadvisor:v0.34.0-r40
root@ubuntu:~/123/docker_images# docker rmi ascendhub.huawei.com/public-ascendhub/vc-controller-manager_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker rmi ascendhub.huawei.com/public-ascendhub/vc-scheduler_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker rmi ascendhub.huawei.com/public-ascendhub/vc-webhook-manager_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker rmi ascendhub.huawei.com/public-ascendhub/vc-webhook-manager-base_arm64:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker rmi ascendhub.huawei.com/public-ascendhub/hccl-controller_arm64:v20.2.0
root@ubuntu:~/123/docker_images# docker rmi ascendhub.huawei.com/public-ascendhub/ascend-k8sdeviceplugin_arm64:v20.2.0
root@ubuntu:~/123/docker_images# docker rmi ascendhub.huawei.com/public-ascendhub/cadvisor_arm64:v0.34.0-r40
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images#
root@ubuntu:~/123/docker_images# docker save -o Ascend-K8sDevicePlugin-v20.2.0-arm64-Docker.tar.gz ascend-k8sdeviceplugin:v20.2.0
root@ubuntu:~/123/docker_images# docker save -o hccl-controller-v20.2.0-arm64.tar.gz hccl-controller:v20.2.0
root@ubuntu:~/123/docker_images# docker save -o huawei-cadvisor-v0.34.0-r40-arm64.tar.gz google/cadvisor:v0.34.0-r40
root@ubuntu:~/123/docker_images# docker save -o vc-controller-manager-v1.0.1-r40-arm64.tar.gz volcanosh/vc-controller-manager:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker save -o vc-scheduler-v1.0.1-r40-arm64.tar.gz volcanosh/vc-scheduler:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker save -o vc-webhook-manager-base-v1.0.1-r40-arm64.tar.gz volcanosh/vc-webhook-manager-base:v1.0.1-r40
root@ubuntu:~/123/docker_images# docker save -o vc-webhook-manager-v1.0.1-r40-arm64.tar.gz volcanosh/vc-webhook-manager:v1.0.1-r40

注* 其中部分镜像是需要在华为hub里面进行获取权限后进行下载

https://support.huaweicloud.com/usermanual-mindxdl202/atlasmindx\_03\_0047.html

    5.完成后的目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
root@ubuntu:~/123# tree
.
├── docker_images
│   ├── Ascend-K8sDevicePlugin-v20.2.0-arm64-Docker.tar.gz
│   ├── calico-cni_arm64.tar.gz
│   ├── calico-kube-controllers_arm64.tar.gz
│   ├── calico-node_arm64.tar.gz
│   ├── calico-pod2daemon-flexvol_arm64.tar.gz
│   ├── coredns_arm64.tar.gz
│   ├── etcd_arm64.tar.gz
│   ├── hccl-controller-v20.2.0-arm64.tar.gz
│   ├── huawei-cadvisor-v0.34.0-r40-arm64.tar.gz
│   ├── kube-apiserver_arm64.tar.gz
│   ├── kube-controller-manager_arm64.tar.gz
│   ├── kube-proxy_arm64.tar.gz
│   ├── kube-scheduler_arm64.tar.gz
│   ├── pause_arm64.tar.gz
│   ├── vc-controller-manager-v1.0.1-r40-arm64.tar.gz
│   ├── vc-scheduler-v1.0.1-r40-arm64.tar.gz
│   ├── vc-webhook-manager-base-v1.0.1-r40-arm64.tar.gz
│   └── vc-webhook-manager-v1.0.1-r40-arm64.tar.gz
├── offline-pkg-arm64
│   ├── conntrack_1%3a1.4.4+snapshot20161117-6ubuntu2_arm64.deb
│   ├── cri-tools_1.13.0-01_arm64.deb
│   ├── docker-ce_18.06.3~ce~3-0~ubuntu_arm64.deb
│   ├── haveged_1.9.1-6_arm64.deb
│   ├── keyutils_1.5.9-9.2ubuntu2_arm64.deb
│   ├── kubeadm_1.17.3-00_arm64.deb
│   ├── kubectl_1.17.3-00_arm64.deb
│   ├── kubelet_1.17.3-00_arm64.deb
│   ├── kubernetes-cni_0.8.6-00_arm64.deb
│   ├── libhavege1_1.9.1-6_arm64.deb
│   ├── libltdl7_2.4.6-2_arm64.deb
│   ├── libnfsidmap2_0.25-5.1_arm64.deb
│   ├── libtirpc1_0.2.5-1.2ubuntu0.1_arm64.deb
│   ├── libtirpc-dev_0.2.5-1.2ubuntu0.1_arm64.deb
│   ├── nfs-common_1%3a1.3.4-2.1ubuntu5.5_arm64.deb
│   ├── nfs-kernel-server_1%3a1.3.4-2.1ubuntu5.5_arm64.deb
│   ├── rpcbind_0.2.3-0.6ubuntu0.18.04.4_arm64.deb
│   ├── socat_1.7.3.2-2ubuntu2_arm64.deb
│   └── sshpass_1.06-1_arm64.deb
├── offline-pkg-arm64.zip
└── yamls
├── ascendplugin-310-v20.2.0.yaml
├── ascendplugin-volcano-v20.2.0.yaml
├── cadvisor-v0.34.0-r40.yaml
├── calico.yaml
├── hccl-controller-v20.2.0.yaml
├── npu-exporter-v20.2.0.yaml
└── volcano-v1.0.1-r40.yaml

3 directories, 46 files
root@ubuntu:~/123#

注* 其中yamls文件在下方链接中下载

https://gitee.com/ascend/mindxdl-deploy/tree/20201230-V20.2.0/

    6.配置免密登陆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
root@ubuntu:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:07dTbsAycQqT2w7HdCwjIyJig5T20FQ/eHZGxWg7pbY root@ubuntu
The key's randomart image is:
+---[RSA 2048]----+
| .+... .+. |
|o+ . o .+ + |
|+o+ ...=BoO + |
|...o .o.+/ O |
| S @ + . |
| E + = |
| . o o |
| o |
| |
+----[SHA256]-----+
root@ubuntu:~#
root@ubuntu:~# ssh-copy-id -i 127.0.0.1

    7.配置安装ansible

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
root@ubuntu:~# 
root@ubuntu:~# apt install ansible
root@ubuntu:~# vim /etc/ansible/hosts

#配置内容如下
[all:vars]
# default shared directory, you can change it as yours
nfs_shared_dir=/data/atlas_dls

# NFS service IP
nfs_service_ip=192.168.1.110

# Master IP
master_ip=192.168.1.110

# dls install package dir
dls_root_dir=/root/123

# set proxy
proxy=""

# Command for logging in to the Asend hub
ascendhub_login_command="login_command"

# Generally, you do not need to change the value or delete it.
ascendhub_prefix="ascendhub.huawei.com/public-ascendhub"

# versions
deviceplugin_version="v20.2.0"
cadvisor_version="v0.34.0-r40"
volcano_version="v1.0.1-r40"
hccl_version="v20.2.0"

[nfs_server]
ubuntu ansible_host=192.168.1.110 ansible_ssh_user="root" ansible_ssh_pass="123123"

[localnode]
ubuntu ansible_host=192.168.1.110 ansible_ssh_user="root" ansible_ssh_pass="123123"

[training_node]
ubuntu ansible_host=192.168.1.110 ansible_ssh_user="root" ansible_ssh_pass="123123"

[inference_node]

[A300T_node]

[arm]
ubuntu ansible_host=192.168.1.110 ansible_ssh_user="root" ansible_ssh_pass="123123"

[x86]

[workers:children]
training_node
inference_node
A300T_node


root@ubuntu:~/mindxdl/deploy/offline/steps# vim /etc/ansible/ansible.cfg
log_path = /var/log/ansible.log
host_key_checking = False
deprecation_warnings = False

注* 参数说明,请根据实际写入:

1
2
3
4
5
6
7
8
9
10
nfs-host-ip:NFS节点服务器IP地址,即服务器IP地址,如果不安装NFS可设置为空字符串,如:""。
master-host-ip:管理节点服务器IP地址,即服务器IP地址。
install_dir:基础软件包、镜像包和yamls文件夹的上传目录。
proxy_address:代理地址,请根据实际情况配置,如果不需要代理,设置为空字符串,如:""。
login_command:从Ascend Hub中心获取镜像需要使用的登录命令,仅在线安装需要配置,如:"docker login -u xxxxxx@xxxxxx -p xxxxxxxx ascendhub.huawei.com",注意不要遗漏命令前后的引号,获取方式请参见获取MindX DL镜像中1~2。离线安装可设置为空字符串,如:""。
single-node-host-name:请使用单节点主机名,可通过hostname命令查看。
IP:服务器IP地址。
username:登录服务器的用户名。建议使用root用户,避免权限不足。
passwd:登录服务器的用户密码。

二、一键安装

1
2
3
4
root@ubuntu:~/sshpass# apt install sshpass
root@ubuntu:~/mindxdl/deploy/offline/steps# dos2unix *
root@ubuntu:~/mindxdl/deploy/offline/steps# chmod 500 entry.sh
root@ubuntu:~/mindxdl/deploy/offline/steps# bash -x entry.sh

三、安装后进行验证

    1.docker信息查看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
root@ubuntu:~# docker info
Containers: 35
Running: 30
Paused: 0
Stopped: 5
Images: 18
Server Version: 18.06.3-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: systemd
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: ascend runc
Default Runtime: ascend
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: a592beb5bc4c4092b1b1bac971afed27687340c5
init version: fec3683
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-112-generic
Operating System: Ubuntu 18.04.5 LTS
OSType: linux
Architecture: aarch64
CPUs: 192
Total Memory: 503.6GiB
Name: ubuntu
ID: MUTU:QOYU:2P6F:P2QB:4JKZ:QNKE:PPMQ:PQLL:3PDG:QEYU:LMDK:KNMF
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
docker.mirrors.ustc.edu.cn
127.0.0.0/8
Registry Mirrors:
https://dockerhub.azk8s.cn/
https://docker.mirrors.ustc.edu.cn/
http://hub-mirror.c.163.com/
Live Restore Enabled: false

WARNING: No swap limit support

    2. kubectl的pod信息查看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
root@ubuntu:~# kubectl get pod --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
cadvisor cadvisor-nsn4r 1/1 Running 0 5m23s
default hccl-controller-645bb466f-5fqq6 1/1 Running 0 5m34s
kube-system ascend-device-plugin-daemonset-vxj8s 1/1 Running 0 5m23s
kube-system calico-kube-controllers-8464785d6b-bnjdn 1/1 Running 0 5m50s
kube-system calico-node-blshl 1/1 Running 0 5m51s
kube-system coredns-6955765f44-5jr59 1/1 Running 0 5m50s
kube-system coredns-6955765f44-wbzvz 1/1 Running 0 5m50s
kube-system etcd-ubuntu 1/1 Running 0 5m43s
kube-system kube-apiserver-ubuntu 1/1 Running 0 5m43s
kube-system kube-controller-manager-ubuntu 1/1 Running 0 5m43s
kube-system kube-proxy-b78fm 1/1 Running 0 5m51s
kube-system kube-scheduler-ubuntu 1/1 Running 0 5m43s
volcano-system volcano-admission-74776688c8-g9p9q 1/1 Running 0 5m31s
volcano-system volcano-admission-init-sbktn 0/1 Completed 0 5m31s
volcano-system volcano-controllers-6786db54f-vn797 1/1 Running 0 5m31s
volcano-system volcano-scheduler-844f9b547b-xxjm7 1/1 Running 0 5m31s
root@ubuntu:~#
root@ubuntu:~# kubectl describe node ubuntu
Name: ubuntu
Roles: master,worker
Labels: accelerator=huawei-Ascend910
beta.kubernetes.io/arch=arm64
beta.kubernetes.io/os=linux
host-arch=huawei-arm
kubernetes.io/arch=arm64
kubernetes.io/hostname=ubuntu
kubernetes.io/os=linux
masterselector=dls-master-node
node-role.kubernetes.io/master=
node-role.kubernetes.io/worker=worker
workerselector=dls-worker-node
Annotations: huawei.com/Ascend910: Ascend910-1,Ascend910-2,Ascend910-3,Ascend910-0
kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
node.alpha.kubernetes.io/ttl: 0
projectcalico.org/IPv4Address: 192.168.1.110/24
projectcalico.org/IPv4IPIPTunnelAddr: 10.30.243.192
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Thu, 05 Aug 2021 16:34:33 +0800
Taints: <none>
Unschedulable: false
Lease:
HolderIdentity: ubuntu
AcquireTime: <unset>
RenewTime: Thu, 05 Aug 2021 16:41:29 +0800
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
NetworkUnavailable False Thu, 05 Aug 2021 16:35:06 +0800 Thu, 05 Aug 2021 16:35:06 +0800 CalicoIsUp Calico is running on this node
MemoryPressure False Thu, 05 Aug 2021 16:40:30 +0800 Thu, 05 Aug 2021 16:34:27 +0800 KubeletHasSufficientMemory kubelet has sufficient memory available
DiskPressure False Thu, 05 Aug 2021 16:40:30 +0800 Thu, 05 Aug 2021 16:34:27 +0800 KubeletHasNoDiskPressure kubelet has no disk pressure
PIDPressure False Thu, 05 Aug 2021 16:40:30 +0800 Thu, 05 Aug 2021 16:34:27 +0800 KubeletHasSufficientPID kubelet has sufficient PID available
Ready True Thu, 05 Aug 2021 16:40:30 +0800 Thu, 05 Aug 2021 16:35:19 +0800 KubeletReady kubelet is posting ready status. AppArmor enabled
Addresses:
InternalIP: 192.168.1.110
Hostname: ubuntu
Capacity:
cpu: 192
ephemeral-storage: 920422204Ki
huawei.com/Ascend910: 4
hugepages-2Mi: 0
memory: 528101392Ki
pods: 110
Allocatable:
cpu: 192
ephemeral-storage: 848261101802
huawei.com/Ascend910: 4
hugepages-2Mi: 0
memory: 527998992Ki
pods: 110
System Info:
Machine ID: 3996e745414f461b9e0e990f6d0b597e
System UUID: CD56756C-607E-BD02-EB11-5292EAFB068C
Boot ID: adb96127-7fdc-4d84-8867-a13005f9b535
Kernel Version: 4.15.0-112-generic
OS Image: Ubuntu 18.04.5 LTS
Operating System: linux
Architecture: arm64
Container Runtime Version: docker://18.6.3
Kubelet Version: v1.17.3
Kube-Proxy Version: v1.17.3
PodCIDR: 10.30.0.0/24
PodCIDRs: 10.30.0.0/24
Non-terminated Pods: (15 in total)
Namespace Name CPU Requests CPU Limits Memory Requests Memory Limits AGE
--------- ---- ------------ ---------- --------------- ------------- ---
cadvisor cadvisor-nsn4r 500m (0%) 1 (0%) 300Mi (0%) 2000Mi (0%) 6m17s
default hccl-controller-645bb466f-5fqq6 500m (0%) 500m (0%) 300Mi (0%) 300Mi (0%) 6m28s
kube-system ascend-device-plugin-daemonset-vxj8s 500m (0%) 500m (0%) 500Mi (0%) 500Mi (0%) 6m17s
kube-system calico-kube-controllers-8464785d6b-bnjdn 0 (0%) 0 (0%) 0 (0%) 0 (0%) 6m44s
kube-system calico-node-blshl 250m (0%) 0 (0%) 0 (0%) 0 (0%) 6m45s
kube-system coredns-6955765f44-5jr59 100m (0%) 0 (0%) 70Mi (0%) 170Mi (0%) 6m44s
kube-system coredns-6955765f44-wbzvz 100m (0%) 0 (0%) 70Mi (0%) 170Mi (0%) 6m44s
kube-system etcd-ubuntu 0 (0%) 0 (0%) 0 (0%) 0 (0%) 6m37s
kube-system kube-apiserver-ubuntu 250m (0%) 0 (0%) 0 (0%) 0 (0%) 6m37s
kube-system kube-controller-manager-ubuntu 200m (0%) 0 (0%) 0 (0%) 0 (0%) 6m37s
kube-system kube-proxy-b78fm 0 (0%) 0 (0%) 0 (0%) 0 (0%) 6m45s
kube-system kube-scheduler-ubuntu 100m (0%) 0 (0%) 0 (0%) 0 (0%) 6m37s
volcano-system volcano-admission-74776688c8-g9p9q 500m (0%) 500m (0%) 300Mi (0%) 300Mi (0%) 6m25s
volcano-system volcano-controllers-6786db54f-vn797 500m (0%) 500m (0%) 300Mi (0%) 300Mi (0%) 6m25s
volcano-system volcano-scheduler-844f9b547b-xxjm7 500m (0%) 500m (0%) 300Mi (0%) 300Mi (0%) 6m25s
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 4 (2%) 3500m (1%)
memory 2140Mi (0%) 4040Mi (0%)
ephemeral-storage 0 (0%) 0 (0%)
huawei.com/Ascend910 0 0
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal NodeHasSufficientMemory 7m10s (x8 over 7m11s) kubelet, ubuntu Node ubuntu status is now: NodeHasSufficientMemory
Normal NodeHasNoDiskPressure 7m10s (x7 over 7m11s) kubelet, ubuntu Node ubuntu status is now: NodeHasNoDiskPressure
Normal NodeHasSufficientPID 7m10s (x6 over 7m11s) kubelet, ubuntu Node ubuntu status is now: NodeHasSufficientPID
Normal Starting 6m37s kubelet, ubuntu Starting kubelet.
Normal NodeHasSufficientMemory 6m37s kubelet, ubuntu Node ubuntu status is now: NodeHasSufficientMemory
Normal NodeHasNoDiskPressure 6m37s kubelet, ubuntu Node ubuntu status is now: NodeHasNoDiskPressure
Normal NodeHasSufficientPID 6m37s kubelet, ubuntu Node ubuntu status is now: NodeHasSufficientPID
Normal NodeAllocatableEnforced 6m37s kubelet, ubuntu Updated Node Allocatable limit across pods
Normal Starting 6m33s kube-proxy, ubuntu Starting kube-proxy.
Normal NodeReady 6m17s kubelet, ubuntu Node ubuntu status is now: NodeReady
root@ubuntu:~#

注* 再此信息中可以看到CPU和加速卡的信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Capacity:
cpu: 192
ephemeral-storage: 920422204Ki
huawei.com/Ascend910: 4
hugepages-2Mi: 0
memory: 528101392Ki
pods: 110
Allocatable:
cpu: 192
ephemeral-storage: 848261101802
huawei.com/Ascend910: 4
hugepages-2Mi: 0
memory: 527998992Ki
pods: 110

图片

**详情可以查看华为官方文档:
**

https://support.huaweicloud.com/mindxdl201/

图片

Linux运维交流社区

Linux运维交流社区

Linux运维交流社区,互联网新闻以及技术交流。

30篇原创内容

公众号

本文使用 文章同步助手 同步