win10下从零搭建linux+ansible+k8s学习环境笔记(1*master/controller+3*node)(代码片段)

山河已无恙 山河已无恙     2022-12-31     537

关键词:

写在前面


  • 一直想学K8s,但是没有环境,本身K8s就有些重。上学之前租了一个阿里云的ESC,单核2G的,单机版K8s的勉强可以装上去,多节点没法搞,书里的Demo也没法学。需要多个节点,涉及到多机器操作,所以顺便温习一下ansible

  • 这是一个在Win10上从零搭建学习环境的教程,时间原因可选部分在下次更新博客和小伙伴分享,包含:

    • 通过Vmware Workstation安装四个linux系统虚拟机,一个Master管理节点三个Node计算节点
    • 通过桥接模式,可以访问外网,并且可以通过win10物理机ssh远程访问
    • 可以通过Master节点机器ssh免密登录任意Node节点机
    • 配置AnsibleMaster节点做controller节点
    • Docker,K8s相关包安装,网络配置等
  • 关于Vmware Workstation 和 Linux ios包,默认小伙伴已经拥有。Vmware Workstation 默认小伙伴已经安装好,没有的可以网上下载一下。

我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ------《彷徨少年時》


一,Linux 系统安装

这里默认小伙伴已经安装了Vmware Workstation(VMware-workstation-full-15.5.6-16341506.exe),已经准备了linux系统 安装光盘(CentOS-7-x86_64-DVD-1810.iso)。括号内是我用的版本,我们的方式:

先安装一个Node节点机器,然后通过克隆的方式得到剩余的两个Node机器和一个Master机器

1. 系统安装

&&&&&&&&&&&&&&&&&&安装步骤&&&&&&&&&&&&&&&&&&
给虚拟机起一个名称,并指定虚拟机存放的位置。
内存设置这里要结合自己机器的情况,如果8G内存,建议为2G,如果16G,建议4G,如果32G,建议8G
将存放在系统中的光盘镜像放入光驱中。【通过”浏览”找到即可】
如果显示内存太大了,开不了机,可以适当减小内存,
点击屏幕,光标进入到系统,然后上下键选择第一个。
建议初学者选择“简体中文(中国)”,单击“继续”。
检查“安装信息摘要界面”,确保所有带叹号的部分都已经完成,然后单击右下方的“开始安装”按钮,将会执行正式安装。
若密码太简单需要按两次“完成”按钮!
创建用户。(用户名字和密码自定义),填写完成后,单击两次“完成”。
这很需要时间,可以干点别的事…,安装完成之后,会有 重启 按钮,直接重启即可
启动系统,这个需要一些时间,耐心等待
未列出以root用户登录,然后是一些引导页,直接下一步即可
嗯,这里改一下,命令提示符。弄的好看一点想学习,直接输入:PS1="\\[\\033[1;32m\\]┌──[\\[\\033[1;34m\\]\\u@\\H\\[\\033[1;32m\\]]-[\\[\\033[0;1m\\]\\w\\[\\033[1;32m\\]] \\n\\[\\033[1;32m\\]└─\\[\\033[1;34m\\]\\$\\[\\033[0m\\] "或者写到.baserch

2. 配置网络

&&&&&&&&&&&&&&&&&&配置网络步骤&&&&&&&&&&&&&&&&&&
桥接模式下,要自己选择桥接到哪个网卡(实际联网用的网卡),然后确认
配置网卡为DHCP模式(自动分配IP地址):执行方式见表尾,这里值得一说的是,如果网络换了,那么所以有的节点ip也会换掉,因为是动态的,但是还是在一个网段内。DNS和SSH免密也都不能用了,需要重新配置,但是如果你只连一个网络,那就没影响。所以一般需要在分配IP之后,把IP获取方式改成手动静态IP。当然,建议在所有的机器克隆完成之后在更改IP设置方式,然后在配置DNS和SSH免密
nmcli connection modify 'ens33' ipv4.method auto connection.autoconnect yes #将网卡改为DHCP模式(动态分配IP)nmcli connection up 'ens33'

配置网卡为DHCP模式(自动分配IP地址)


┌──[root@localhost.localdomain]-[~] 
└─$ nmcli connection modify 'ens33' ipv4.method auto   connection.autoconnect yes
┌──[root@localhost.localdomain]-[~] 
└─$ nmcli connection up 'ens33'
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
┌──[root@localhost.localdomain]-[~] 
└─$ ifconfig | head -2 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.7  netmask 255.255.255.0  broadcast 192.168.1.255
┌──[root@localhost.localdomain]-[~] 
└─$ 
┌──[root@192.168.1.7]-[~] 
└─$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.7  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::8899:b0c7:4b50:73e0  prefixlen 64  scopeid 0x20<link>
        inet6 240e:319:707:b800:2929:3ab2:f378:715a  prefixlen 64  scopeid 0x0<global>
        ether 00:0c:29:b6:a6:52  txqueuelen 1000  (Ethernet)
        RX packets 535119  bytes 797946990 (760.9 MiB)
        RX errors 0  dropped 96  overruns 0  frame 0
        TX packets 59958  bytes 4119314 (3.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 616  bytes 53248 (52.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 616  bytes 53248 (52.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:2e:66:6d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

┌──[root@192.168.1.7]-[~] 
└─$ 

配置网卡为手动获取IP,即把DHCP分配的ip设置为静态IP,这一步在机器克隆完成后中每个机器执行

nmcli connection modify 'ens33' ipv4.method manual ipv4.addresses 192.168.1.7/24 ipv4.gateway 192.168.1.1 connection.autoconnect  yes
nmcli connection up 'ens33'

3. 机器克隆

&&&&&&&&&&&&&&&&&&机器克隆步骤&&&&&&&&&&&&&&&&&&
关闭要克隆的虚拟机
链接克隆和完整克隆的区别:
创建链接克隆 #克隆的虚拟机占用磁盘空间很少,但是被克隆的虚拟机必须能够正常使用,否则无法正常使用;
创建完整克隆 #新克隆的虚拟机跟被克隆的虚拟机之间没有关联,被克隆的虚拟机删除也不影响新克隆出来的虚拟机的使用
测试一下,可以访问外网(39.97.241是我的阿里云公网IP), 也可以和物理机互通,同时也可以和node互通
我们以相同的方式,克隆剩余的一个node节点机器,和一个Master节点机。

我们以相同的方式,克隆剩余的一个node节点机器,和一个Master节点机。这里不做展示

克隆剩余的,如果启动时内存不够,需要关闭虚拟机调整相应的内存
nmcli connection modify 'ens33' ipv4.method manual ipv4.addresses 192.168.1.9/24 ipv4.gateway 192.168.1.1 connection.autoconnect yes , nmcli connection up 'ens33' 记得配置静态IP呀

4.管理控制节点到计算节点DNS配置

Master节点DNS配置
Master节点配置DNS,可用通过主机名访问,为方便的话,可以修改每个节点机器的 主机名 /etc/hosts下修改。
┌──[root@192.168.1.10]-[~] 
└─$ vim /etc/hosts
┌──[root@192.168.1.10]-[~] 
└─$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.7  node0
192.168.1.9  node1
192.168.1.11 node2
192.168.1.10 master
 
┌──[root@192.168.1.10]-[~] 
└─$ 

5.管理控制节点到计算节点SSH免密配置

Master节点配置SSH免密登录
ssh-keygen生成密匙,全部回车
SSH 免密配置,使用ssh-copy-id传递密匙
免密测试,如果为了方便,这里,Node1的主机名没有修改。所以显示为IP地址

ssh-keygen生成密匙,全部回车

┌──[root@192.168.1.10]-[~] 
└─$ ssh
usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [bind_address:]port] [-E log_file] [-e escape_char]
           [-F configfile] [-I pkcs11] [-i identity_file]
           [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
           [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
           [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
           [user@]hostname [command]
┌──[root@192.168.1.10]-[~] 
└─$ ls -ls ~/.ssh/
ls: 无法访问/root/.ssh/: 没有那个文件或目录
┌──[root@192.168.1.10]-[~] 
└─$ 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:qHboVj/WfMTYCDFDZ5ISf3wEcmfsz0EXJH19U6SnxbY root@node0
The key's randomart image is:
+---[RSA 2048]----+
|      .o+.=o+.o+*|
|      ..=B +. o==|
|       ..+o.....O|
|       ... .. .=.|
|      . S. = o.E |
|     o.   o + o  |
|    +... o .     |
|   o..  + o .    |
|   ..  . . .     |
+----[SHA256]-----+

SSH 免密配置,使用ssh-copy-id传递密匙

ssh-copy-id root@node0
ssh-copy-id root@node1
ssh-copy-id root@node2

免密测试

ssh root@node0
ssh root@node1
ssh root@node2

到这一步,我们已经做好了linux环境的搭建,想学linux的小伙伴就可以从这里开始学习啦。这是我linux学习一路整理的笔记,有些实战,感兴趣小伙伴可以看看


二,Ansible安装配置

这里为了方便,我们直接在物理机操作,而且我们已经配置了ssh,因为我本机的内存不够,所以我只能启三台机器了。

主机名IP角色备注
master192.168.1.10conteoller控制机
node1192.168.1.9node受管机
node2192.168.1.11node受管机

## 1. SSH到控制节点即192.168.1.10,配置yum源,安装ansible

┌──(liruilong㉿Liruilong)-[/mnt/e/docker]
└─$ ssh root@192.168.1.10
Last login: Sat Sep 11 00:23:10 2021
┌──[root@master]-[~]
└─$ ls
anaconda-ks.cfg  initial-setup-ks.cfg  下载  公共  图片  文档  桌面  模板  视频  音乐
┌──[root@master]-[~]
└─$ cd /etc/yum.repos.d/
┌──[root@master]-[/etc/yum.repos.d]
└─$ ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  CentOS-x86_64-kernel.repo
┌──[root@master]-[/etc/yum.repos.d]
└─$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
┌──[root@master]-[/etc/yum.repos.d]
└─$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

查找 ansible安装包

┌──[root@master]-[/etc/yum.repos.d]
└─$ yum list | grep ansible
ansible-collection-microsoft-sql.noarch     1.1.0-1.el7_9              extras
centos-release-ansible-27.noarch            1-1.el7                    extras
centos-release-ansible-28.noarch            1-1.el7                    extras
centos-release-ansible-29.noarch            1-1.el7                    extras
centos-release-ansible26.noarch             1-3.el7.centos             extras
┌──[root@master]-[/etc/yum.repos.d]

阿里云的yum镜像没有ansible包,所以我们需要使用epel安装

┌──[root@master]-[/etc/yum.repos.d]
└─$ wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
--2021-09-11 00:40:11--  http://mirrors.aliyun.com/repo/epel-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 1.180.13.237, 1.180.13.236, 1.180.13.240, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|1.180.13.237|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 664 [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/epel.repo’

100%[=======================================================================================================================================================================>] 664         --.-K/s   in 0s

2021-09-11 00:40:12 (91.9 MB/s) - ‘/etc/yum.repos.d/epel.repo’ saved [664/664]

┌──[root@master]-[/etc/yum.repos.d]
└─$ yum install -y epel-release

查找ansible安装包,并安装

┌──[root@master]-[/etc/yum.repos.d]
└─$ yum list|grep ansible
Existing lock /var/run/yum.pid: another copy is running as pid 12522.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: PackageKit
    Memory :  28 M RSS (373 MB VSZ)
    Started: Sat Sep 11 00:40:41 2021 - 00:06 ago
    State  : Sleeping, pid: 12522
ansible.noarch                              2.9.25-1.el7               epel
ansible-collection-microsoft-sql.noarch     1.1.0-1.el7_9              extras
ansible-doc.noarch                          2.9.25-1.el7               epel
ansible-inventory-grapher.noarch            2.4.4-1.el7                epel
ansible-lint.noarch                         3.5.1-1.el7                epel
ansible-openstack-modules.noarch            0-20140902git79d751a.el7   epel
ansible-python3.noarch                      2.9.25-1.el7               epel
ansible-review.noarch                       0.13.4-1.el7               epel
ansible-test.noarch                         2.9.25-1.el7               epel
centos-release-ansible-27.noarch            1-1.el7                    extras
centos-release-ansible-28.noarch            1-1.el7                    extras
centos-release-ansible-29.noarch            1-1.el7                    extras
centos-release-ansible26.noarch             1-3.el7.centos             extras
kubernetes-ansible.noarch                   0.6.0-0.1.gitd65ebd5.el7   epel
python2-ansible-runner.noarch               1.0.1-1.el7                epel
python2-ansible-tower-cli.noarch            3.3.9-1.el7                epel
vim-ansible.noarch                          3.2-1.el7                  epel
┌──[root@master]-[/etc/yum.repos.d]
└─$ yum install -y  ansible
┌──[root@master]-[/etc/yum.repos.d]
└─$ ansible --version
ansible 2.9.25
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
┌──[root@master]-[/etc/yum.repos.d]
└─$

查看主机清单

┌──[root@master]-[/etc/yum.repos.d]
└─$ ansible 127.0.0.1 --list-hosts
  hosts (1):
    127.0.0.1
┌──[root@master]-[/etc/yum.repos.d]

2. ansible环境配置

我们这里使用liruilong这个普通账号,一开始装机配置的那个用户,生产中会配置特定的用户,不使用root用户;

主配置文件 ansible.cfg 编写

┌──[root@master]-[/home/liruilong]
└─$ su liruilong
[liruilong@master ~]$ pwd
/home/liruilong
[liruilong@master ~]$ mkdir ansible;cd ansible;vim ansible.cfg
[liruilong@master ansible]$ cat ansible.cfg
[defaults]
# 主机清单文件,就是要控制的主机列表
inventory=inventory
# 连接受管机器的远程的用户名
remote_user=liruilong
# 角色目录
roles_path=roles
# 设置用户的su 提权
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

[liruilong@master ansible]$

1. 主机清单:

被控机列表,可以是 域名,IP,分组([组名]),聚合([组名:children]),也可以主动的设置用户名密码

[liruilong@master ansible]$ vim inventory
[liruilong@master ansible]$ cat inventory
[nodes]
node1
node2
[liruilong@master ansible]$ ansible all --list-hosts
  hosts (2):
    node1
    node2
[liruilong@master ansible]$ ansible nodes --list-hosts
  hosts (2):
    node1
    node2
[liruilong@master ansible]$ ls
ansible.cfg  inventory
[liruilong@master ansible]$

2. 配置liruilong用户的ssh免密

master节点上以liruilong用户对三个节点分布配置

[liruilong@master ansible]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/liruilong/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/liruilong/.ssh/id_rsa.
Your public key has been saved in /home/liruilong/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cJ+SHgfMk00X99oCwEVPi1Rjoep7Agfz8DTjvtQv0T0 liruilong@master
The key's randomart image is:
+---[RSA 2048]----+
|         .oo*oB. |
|       o +.+ B + |
|      . B . + o .|
|       o+=+o . o |
|        SO=o .o..|
|       ..==.. .E.|
从零搭建linux+docker+ansible+kubernetes学习环境(1*master+3*node)(代码片段)

...器操作,所以顺便温习一下ansible。这是一个在Win10上从零搭建学习环境的教程ÿ 查看详情

从零搭建linux+docker+ansible+kubernetes学习环境(1*master+3*node)(代码片段)

...器操作,所以顺便温习一下ansible。这是一个在Win10上从零搭建学习环境的教程ÿ 查看详情

在centos7下从零搭建nginx+uwsgi+django(代码片段)

一、安装Python3   在centos7中系统自带Python2.7,需要自己安装Python3   1、安装依赖sudoyuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-devellibffi-develgccmake  2、安装wgetsudoyuminstallwge 查看详情

从零开始搭建go语言开发环境(代码片段)

一步一步,从零搭建Go语言开发环境。安装Go语言及搭建Go语言开发环境下载下载地址Go官网下载地址:https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/版本的选择Windows平台和Mac平台推荐下载可执行文件版,Linux平台... 查看详情

从零开始搭建go语言开发环境(代码片段)

一步一步,从零搭建Go语言开发环境。安装Go语言及搭建Go语言开发环境下载Go官网下载地址:https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/版本的选择Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩... 查看详情

linux下从终端打开指定目录-open.-win+mac+linux各自的方法

1)Mac终端打开目录open.open/any/folder/2)Win终端打开目录(gitbash)start .start/any/folder/或者自定义命令:nano~/.bash_aliases输入aliasopen='start'保存然后重启电脑即可如下:open.open/any/fold 查看详情

centeros

CentOS、Ubuntu、Debian三个linux比较异同 CenterOS7安装$$  centeros安装mysql5.6 Linux学习之Centeros网络配置 CentOs安装java环境jdk CentOS常用配置命令 CenterOS下从零起步简单部署RockMongo centos下搭建简单的服务器 查看详情

go-从零开始搭建go语言开发环境(代码片段)

下载Go官网下载地址:https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/版本的选择Windows平台和Mac平台推荐下载可执行文件版,Linux平台下载压缩文件版。下图中的版本号可能并不是最新的,但总体来说安装教程是类... 查看详情

centos6.8下从零开始部署javaweb应用

一、硬件信息CPU:[[email protected]~]#grep‘physicalid‘/proc/cpuinfo|sort-u|wc-l2[[email protected]~]#grep‘coreid‘/proc/cpuinfo|sort-u|wc-l4[[email protected]~]#grep‘processor‘/proc/cpuinfo|sor 查看详情

简单轻松:linux下从零开始创建lvm虚拟磁盘阵列+脚本化解决方案

参考技术A逻辑卷管理器(英语:LogicalVolumeManager,缩写为LVM),又译为逻辑卷宗管理器、逻辑扇区管理器、逻辑磁盘管理器,是Linux核心所提供的逻辑卷管理(Logicalvolumemanagement)功能。它在硬盘的硬盘分区之上,又创建一个逻... 查看详情

ansible环境搭建(常用模块使用)(代码片段)

文章目录ansible1.ansible是什么2.ansible环境搭建3.服务器分组4.ansible模块1)hostname模块2)file模块*3)copy模块*3)stat模块stat模块类似linux的stat命令,用于获取文件的状态信息。4)template模块5)fetch模块6)user模块7)group... 查看详情

ansible环境搭建(常用模块使用)(代码片段)

文章目录ansible1.ansible是什么2.ansible环境搭建3.服务器分组4.ansible模块1)hostname模块2)file模块*3)copy模块*3)stat模块stat模块类似linux的stat命令,用于获取文件的状态信息。4)template模块5)fetch模块6)user模块7)group... 查看详情

ansible管理win10

...winrmservice进行基础配置:winrmquickconfig###########需要把需要ansible管理的window机器调成专有网络#####查看winrmservicelistener:winrmewinrm/config/listener########执行后查看window上5985端口是否开启##为winrmservice配置auth:winrmsetwinrm/config/service/auth@Basi... 查看详情

ansible------ansible概述,搭建,常用模块介绍(代码片段)

目录一.Ansible概述二.Ansible环境安装部署三.Ansible命令行模块1.command模块2.shell模块3.cron模块4.user模块5.group模块6.copy模块7.file模块8.hostname模块9.ping模块10.yum模块11.service/systemd模块12.script模块13.setup模块一.Ansible概述Ansible是一个基于P... 查看详情

在win10下使用docker快速搭建ruby开发环境

...的开发习惯,或许还会改变infra的工作。概要:在Windows下搭建开发环境一直是infra(我)头疼的事情。为了解决这个问题,跟老板,程序员商量得出的解决办法有以下几种:1.Mac下开发。优点是搭建环境方便,缺点是需要熟悉mac... 查看详情

从零开始搭建react开发环境

最近刚好又装了一个笔记本的开发环境,主要是前端开发环境这块!要说有什么高深的知识也谈不上,不过有些小东西倒还是值得拿出来分享给大家的!当然一般会有人协助安装开发环境,不过还是建议自己能搞定的自己动手!... 查看详情

从零使用qemu模拟器搭建arm运行环境

...文已有自动构建的项目支持,请移步到:再续【从零使用qemu模拟器搭建arm运行环境】为什么会有这篇文章早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C+... 查看详情

从零开始搭建深度学习环境(代码片段)

开始深度学习调参之路不能没有一个趁手的环境安装基础环境我使用的机器环境是:Ubuntu18.04安装显卡驱动1.2.按照cuda所需的版本安装3.sudoubuntu-driversautoinstall安装pipsudoapt-getinstallpython-pip下载anaconda3地址:https://www.anaconda.co... 查看详情