一、安装wsl

1、在控制面板找到程序和功能,点击启动或关闭windows功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rAOMOI00-1639135766841)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105103005522.png)]

2、找到如下选项,勾选上,点击确定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fi8OJITT-1639135766843)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105102843266.png)]

3、打开window上的应用商店,搜索ubuntu,随便选中一款,点击安装即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Q4j4jQw-1639135766844)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105103304840.png)]

4、打开一个命令行的终端,例如cmd(建议安装window Terminal)输入wsl -d Ubuntu-20.04进入ubuntu命令行界面,其中Ubuntu-20.04是你安装的ubuntu版本,可以通过wsl -l -v来查看系统安装了哪些wsl子系统,如下图我安装了三个

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QPpbdxLc-1639135766845)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105103744239.png)]

二、几个实用wsl命令

1、查看系统安装了哪些wsl子系统

wsl -l -v

2、运行并进入其中某个子系统

wsl -d  <分发版>

3、将某个子系统设置为默认进入版本

 wsl -s <分发版>

4、 立即终止所有正在运行的分发和 WSL 2 轻型工具虚拟机

wsl --shutdown

5、终止止指定的分发

wsl -t

6、注销分发

wsl --unregister <分发版>

7、查看帮助

wsl -h

三、为ubuntu添加Systemd

(该节步骤不是必须的)

因为wsl子系统ubuntu程序启动默认支持的init风格不支持Systemd,所以可以通过以下方式安装Systemd

1、首先安装 Systemd 相关的依赖:

apt install -yqq fontconfig daemonize

2、然后创建一个如下所示的脚本文件:

vim /etc/profile.d/00-wsl2-systemd.sh

SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')if [ -z "$SYSTEMD_PID" ]; thensudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.targetSYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fiif [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; thenexec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi

四、wsl子系统中安装桌面环境

– 这一节不是必须的

1、安装桌面环境

ubuntu大概有十几个桌面环境可选择,例如以下几类,这里我选择了xfce,因为比较轻便

  • Gnome Shell
apt-get install gnome-shell
  • KDE
apt-get install --no-install-recommends kubuntu-desktop

如果要在KDE中使用所有功能,请安装kde-full软件包。

 apt-get install kde-full
  • Xfce
 apt-get install xfce4
  • LXDE
apt-get install lxde
  • Cinnamon
 add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stableapt-get update && sudo apt-get install cinnamon
  • Mate
add-apt-repository "deb http://packages.mate-desktop.org/repo/ubuntu precise main"
apt-get update
apt-get install mate-archive-keyring
apt-get updateapt-get install mate-desktop-environment

2、安装桌面连接服务xrdp

apt install xfce4-session
apt install  xrdp

那个用户想登入桌面环境就在该用户的家目录下向xsession中写入xfce4-session

echo "xfce4-session" >> ~/.xsession
echo "exec /bin/sh /etc/X11/Xsession" >>/etc/X11/Xsession

3、设置使用3390端口

/etc/xrdp/xrdp.ini配置文件中将port改为3390,因为wsl系统和window共用端口的,window上的远程端口是3389,所以为了防止冲突将wsl中的xrdp的端口改为3390.

 sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini

4、设置中文环境

  • 安装中文语言包

    apt install -y language-pack-zh-han*
    
  • 导入中文环境

    export LC_ALL=zh_CN.UTF-8
    
  • 输入locale 把显示出来的用鼠标选中ctrl+c保存一下

    LANG=C.UTF-8
    LANGUAGE=
    LC_CTYPE="C.UTF-8"
    LC_NUMERIC="C.UTF-8"
    LC_TIME="C.UTF-8"
    LC_COLLATE="C.UTF-8"
    LC_MONETARY="C.UTF-8"
    LC_MESSAGES="C.UTF-8"
    LC_PAPER="C.UTF-8"
    LC_NAME="C.UTF-8"
    LC_ADDRESS="C.UTF-8"
    LC_TELEPHONE="C.UTF-8"
    LC_MEASUREMENT="C.UTF-8"
    LC_IDENTIFICATION="C.UTF-8"
    LC_ALL=
    
  • 输入 locale -a 已经查看支持字体

    C
    C.UTF-8
    POSIX
    en_US.utf8
    zh_CN.utf8
    zh_HK.utf8
    zh_SG.utf8
    zh_TW.utf8
    
  • 修改local,vim /etc/default/locale,把上一步保存的内容中的“zh_CN.UTF-8”修改为通过 locale -a 所支持的字体zh_CN.utf8

    LANG=C.UTF-8
    LANGUAGE="zh_CN:zh"
    LC_CTYPE="zh_CN.utf8"
    LC_NUMERIC="zh_CN.utf8"
    LC_TIME="zh_CN.utf8"
    LC_COLLATE="zh_CN.utf8"
    LC_MONETARY="zh_CN.utf8"
    LC_MESSAGES="zh_CN.utf8"
    LC_PAPER="zh_CN.utf8"
    LC_NAME="zh_CN.utf8"
    LC_ADDRESS="zh_CN.utf8"
    LC_TELEPHONE="zh_CN.utf8"
    LC_MEASUREMENT="zh_CN.utf8"
    LC_IDENTIFICATION="zh_CN.utf8"
    LC_ALL=zh_CN.utf8
    

5、安装输入法框架

Ubuntu输入法框架主要有IBus、fcitx、XIM几种,这里介绍fictx

  • 安装fcitx

    apt install fcitx
    
  • 安装谷歌拼音

    //拼音:fcitx-pinyin、fcitx-sunpinyin、fcitx-googlepinyin、fcitx-sogoupinyin
    //五笔:fcitx-table、fcitx-table-wubi、fcitx-table-wbpy(五笔拼音混合)

  • apt install fcitx-googlepinyin
    

6、设置输入法切换方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-76BAfHsM-1639135766848)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105121823539.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yZT9Gyyc-1639135766849)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105121859412.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aEBXjtOI-1639135766850)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105121924831.png)]

7、重启wsl服务

wsl -t Ubuntu-20.04

8、登入桌面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jaP70XaN-1639135766851)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105112849281.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-unEgav1T-1639135766852)(images/wsl%E5%AD%90%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85k8s.assets/image-20211105112953555.png)]

五、wsl子系统中安装docker

1、修改ubuntu源,并添加docker的apt源

cp /etc/apt/sources.list /etc/apt/sources.list_backup

将以下内容写到/etc/apt/sources.list文件中

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
 apt update

2、apt安装docker

apt install docker-ce

3、修改docker源

/etc/docker/daemon.json文件中修改docker源

六、部署K8S

利用kind+docker方式安装k8s集群

1、介绍

k8s集群搭建有多种方式,例如:

1、在多台主机上直接安装k8s相关服务,构成一个k8s集群

2、利用kind+docker构建一个k8s集群

3、利用docker搭建k8s

这里将介绍第二种方式,利用kind+docker来搭建一个多节点的k8s集群

kind是一个利用docker搭建k8s集群的服务,即利用docker来构建k8s的几个关键节点,例如master节点,worker节点,一个节点就是一个容器,相当于k8s的一个主机节点,kind对于每个节点的内部是利用kubeadm来启动每个服务的,即每个节点容器的内部使用kubeadm来启动k8s相关的服务。

2、下载kind

wget https://github.com/kubernetes-sigs/kind/releases/download/0.2.1/kind-linux-amd64
mv kind-linux-amd64 kind
chmod +x kind
mv kind /usr/local/bin

查看kind帮助

root@DESKTOP-5QQL3P7:~# kind
kind creates and manages local Kubernetes clusters using Docker container 'nodes'Usage:kind [command]Available Commands:build       Build one of [node-image]completion  Output shell completion code for the specified shell (bash, zsh or fish)create      Creates one of [cluster]delete      Deletes one of [cluster]export      Exports one of [kubeconfig, logs]get         Gets one of [clusters, nodes, kubeconfig]help        Help about any commandload        Loads images into nodesversion     Prints the kind CLI versionFlags:-h, --help              help for kind--loglevel string   DEPRECATED: see -v instead-q, --quiet             silence all stderr output-v, --verbosity int32   info log verbosity--version           version for kindUse "kind [command] --help" for more information about a command.

3、安装单节点k8s

root@DESKTOP-5QQL3P7:~# kind create cluster
Creating cluster "kind" ...✓ Ensuring node image (kindest/node:v1.13.4)  ✓ Preparing nodes   ✓ Creating kubeadm config   ✓ Starting control-plane  ️
Cluster creation complete. You can now use the cluster with:export KUBECONFIG="$(kind get kubeconfig-path --name="kind")"
kubectl cluster-info

4、安装多节点的k8s

  • 编写多节点的配置文件kind-3nodes.yaml

    kind: Cluster
    apiVersion: kind.x-k8s.io/v1alpha4
    containerdConfigPatches:- |-[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]endpoint = ["https://aa25jngun.mirror.aliyuncs.com"]
    nodes:- role: control-planekubeadmConfigPatches:- |kind: InitConfigurationnodeRegistration:kubeletExtraArgs:node-labels: "ingress-ready=true"extraPortMappings:- containerPort: 30000hostPort: 8000protocol: TCP- containerPort: 30001hostPort: 8080protocol: TCP- containerPort: 30002hostPort: 4443protocol: TCP- role: worker- role: worker
    
  • 安装

    kind create cluster --name 3 --config ./kind-3nodes.yaml
    

使用minikube部署k8s

1、下载minikube

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \&& chmod +x minikube
install minikube /usr/local/bin/

2、使用minikube安装K8S

minikube start --vm-driver=none --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
  • vm-driver=none的话是使用本机的docker作为k8s各组件的载体,即K8S各组件使用本地docker安装,当然也可以选择virtualbox,kvm2等

  • image-repository指定镜像源

3、安装kubectl

cp ~/.minikube/cache/linux/v1.16.7/kubectl /usr/local/sbin

如果使用wsl的ubuntu安装时可能会提示要安装Systemd就按照上面指导安装就可以了

在k8s上部署dashboard

有两种安装方式:

1、使用minikube直接安装

minikube dashboard

2、自己写yaml文件,然后使用kubectl部署

  • dashboard.yaml
apiVersion: v1
kind: Namespace
metadata:name: kubernetes-dashboard
---
apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
---
apiVersion: v1
kind: Service
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:type: NodePortports:- port: 8443targetPort: 8443nodePort: 30005selector:k8s-app: kubernetes-dashboard
---
apiVersion: v1
kind: Secret
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-certsnamespace: kubernetes-dashboard
type: Opaque
---
apiVersion: v1
kind: Secret
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-csrfnamespace: kubernetes-dashboard
type: Opaque
data:csrf: ""
---
apiVersion: v1
kind: Secret
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-key-holdernamespace: kubernetes-dashboard
type: Opaque
---
apiVersion: v1
kind: ConfigMap
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard-settingsnamespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
rules:# Allow Dashboard to get, update and delete Dashboard exclusive secrets.- apiGroups: [""]resources: ["secrets"]resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]verbs: ["get", "update", "delete"]# Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.- apiGroups: [""]resources: ["configmaps"]resourceNames: ["kubernetes-dashboard-settings"]verbs: ["get", "update"]# Allow Dashboard to get metrics.- apiGroups: [""]resources: ["services"]resourceNames: ["heapster", "dashboard-metrics-scraper"]verbs: ["proxy"]- apiGroups: [""]resources: ["services/proxy"]resourceNames: ["heapster", "http:heapster:", "https:heapster:", "dashboard-metrics-scraper", "http:dashboard-metrics-scraper"]verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboard
rules:# Allow Metrics Scraper to get metrics from the Metrics server- apiGroups: ["metrics.k8s.io"]resources: ["pods", "nodes"]verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: kubernetes-dashboard
subjects:- kind: ServiceAccountname: kubernetes-dashboardnamespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: kubernetes-dashboard
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: kubernetes-dashboard
subjects:- kind: ServiceAccountname: kubernetes-dashboardnamespace: kubernetes-dashboard
---
apiVersion: apps/v1
kind: Deployment
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: kubernetes-dashboardtemplate:metadata:labels:k8s-app: kubernetes-dashboardspec:containers:- name: kubernetes-dashboardimage: kubernetesui/dashboard:v2.0.4imagePullPolicy: Alwaysports:- containerPort: 8443protocol: TCPargs:- --auto-generate-certificates- --namespace=kubernetes-dashboard# Uncomment the following line to manually specify Kubernetes API server Host# If not specified, Dashboard will attempt to auto discover the API server and connect# to it. Uncomment only if the default does not work.# - --apiserver-host=http://my-address:portvolumeMounts:- name: kubernetes-dashboard-certsmountPath: /certs# Create on-disk volume to store exec logs- mountPath: /tmpname: tmp-volumelivenessProbe:httpGet:scheme: HTTPSpath: /port: 8443initialDelaySeconds: 30timeoutSeconds: 30securityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: truerunAsUser: 1001runAsGroup: 2001volumes:- name: kubernetes-dashboard-certssecret:secretName: kubernetes-dashboard-certs- name: tmp-volumeemptyDir: {}serviceAccountName: kubernetes-dashboard# nodeSelector:#   "kubernetes.io/os": linux# # Comment the following tolerations if Dashboard must not be deployed on mastertolerations:- key: node-role.kubernetes.io/mastereffect: NoSchedule
---
apiVersion: v1
kind: Service
metadata:labels:k8s-app: dashboard-metrics-scrapername: dashboard-metrics-scrapernamespace: kubernetes-dashboard
spec:ports:- port: 8000targetPort: 8000selector:k8s-app: dashboard-metrics-scraper
---
apiVersion: apps/v1
kind: Deployment
metadata:labels:k8s-app: dashboard-metrics-scrapername: dashboard-metrics-scrapernamespace: kubernetes-dashboard
spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: dashboard-metrics-scrapertemplate:metadata:labels:k8s-app: dashboard-metrics-scraperannotations:seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'spec:containers:- name: dashboard-metrics-scraperimage: kubernetesui/metrics-scraper:v1.0.4ports:- containerPort: 8000protocol: TCPlivenessProbe:httpGet:scheme: HTTPpath: /port: 8000initialDelaySeconds: 30timeoutSeconds: 30volumeMounts:- mountPath: /tmpname: tmp-volumesecurityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: truerunAsUser: 1001runAsGroup: 2001serviceAccountName: kubernetes-dashboardnodeSelector:"kubernetes.io/os": linux# Comment the following tolerations if Dashboard must not be deployed on mastertolerations:- key: node-role.kubernetes.io/mastereffect: NoSchedulevolumes:- name: tmp-volumeemptyDir: {}
  • 创建个管理用户用于前端登入account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:name: admin-usernamespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: admin-user
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: cluster-admin
subjects:
- kind: ServiceAccountname: admin-usernamespace: kubernetes-dashboard

部署

kubectl apply -f dashboard.yaml
kubectl apply -f account.yaml

这样就部署好了,dashboard的service使用nodeport方式部署,所以在浏览器访问https://ip:nodeport,在本文件中nodeport是选择了30005,所以本地可访问https://127.0.0.1:30005

使用以下命令获取token

kubectl describe -n kubernetes-dashboard secret $( kubectl get secret -n kubernetes-dashboard |grep admin-user |awk  '{print $1}') |grep token:

wsl子系统中安装k8s相关推荐

  1. Windows10系统的Linux子系统中安装MySQL数据库心得

    后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...

  2. 【Asp.net Core】在 Linux 子系统中安装 nginx 并配置反向代理

    上一篇鸟文中,老周已经介绍过在 Ubuntu 子系统中安装 dotnet-sdk 的方法,本文老周给大伙伴们说说安装 nginx 服务,并配置反向代理.同样,老周假设你从来没有用过 Linux,所以老 ...

  3. wsl 2 中安装docker

    1. 参考 [安利] WSL Linux 子系统,真香!附完整实操_猴哥一一的博客-CSDN博客_安装wslWSL 初体验WSL Linux 子系统体验原生 Docker,真香!Windows 的 l ...

  4. 如何在windows子系统中安装Quantum Espresso7.0【linux小白一只,艰辛摸索,留此纪录,如有漏洞,还请见谅】

    @[TOC]如何安装QE7.0 在windows11中安装ubuntu子系统,并安装QE 1.通过wsl2安装ubuntu 1.1 首先 控制面板-打开或关闭windows功能-点开 Hyper-V, ...

  5. centos安装mysql wsl_在 Windows Linux 子系统中安装 CentOS

    微软在 Windows 10 中引入了 Windows Subsystem Linux(WSL) 功能, 这使得我们可以在 Windows 中就能使用 Linux 的各种命令. 目前 Windows ...

  6. Windows10 WSL Ubuntu中安装ssh server

    在WSL Ubuntu系统中安装ssh server 当对Linux实现文件操作时,使用WinScp更为方便.因此需要使用ssh远程登陆 安装ssh server sudo apt-get insta ...

  7. wsl ubuntu中安装fzf

    在使用wsl ubuntu18.04 https://www.jianshu.com/p/aeebaee1dd2b 按照这篇文章进行安装时出现的一些问题 fzf安装后,启动fzf 出现错误,comma ...

  8. Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务

     前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for desktop中启用 ...

  9. Win10的Linux子系统Ubuntu安装图形界面

    Win10的Linux子系统Ubuntu安装图形界面 陈拓 2021/07/25-2021/07/26 1. 概述 Win10的linux子系统Windows Subsystem for Linux( ...

最新文章

  1. strstr php文档,php字符串函数学习之strstr()
  2. 征战蓝桥 —— 题解目录
  3. jpa获取数据库当前时间_SpringDataJPA存储数据时通过注解自动设置创建时间和修改时间...
  4. 昆仑万维14亿收购音频社交平台Star Group 60%股权 周亚辉获益超10亿元
  5. IIS Express 启用目录浏览
  6. 微软:推开窗户,我看到了云
  7. 必须要掌握的七种谈话技巧
  8. 基于ssm的航空订票系统
  9. python爬虫毕业论文大纲参考模板_毕业论文大纲参考模板
  10. 猫途鹰(tripadvisor.cn/)美国地区的酒店、景点、餐厅数据(82万条)
  11. Linux服务器遇到攻击怎么办?用这些方法封禁IP
  12. <Zhuuu_ZZ>让我们来康康脚本流程控制
  13. 重装mac系统 未能与恢复服务器取得联系,进入 macOS 系统恢复模式 – 重新安装 macOS 系统...
  14. 计算机社团感恩节免费维修周策划书,【关于感恩节的活动策划】大学感恩节活动策划案_早教感恩节活动策划方案_(2)_亲亲宝贝网...
  15. hexeditor作用_Hex编辑器Free Hex Editor Neo
  16. 微软面试题之数字谜题 (转)
  17. 图像处理相关算法之饱和度调整
  18. 双系统安装 win7
  19. PRL学习(priority roaming list 优先漫游列表)
  20. 超低噪声放大器DN-AP06

热门文章

  1. 网络营销教程-SEO 序言
  2. linux时间为什么没有北京,linux修改时区为中国时区(北京)
  3. 计算机网络蓝牙技术论文,蓝牙技术毕业设计(论文).doc
  4. 奇安信、深信服、启明星辰的安全红利战
  5. 企业中必备的五大DDoS防护技术 你知道几个?
  6. qemu+gdb调试内核
  7. Servify在Iron Pillar领投的C轮融资中募资2300万美元
  8. importError: cannot import name 'izip_longest'
  9. 以太坊--众筹ICO实现
  10. 异常检测的N种方法,阿里工程师都盘出来了