目录

1、环境准备

1.1、服务器准备

1.2、服务器hostname设置

1.3、添加hosts 网络主机配置,三台虚拟机都要设置

1.4、关闭防火墙,三台虚拟机都要设置,生产环境跳过这一步

2、安装docker,3台服务器都安装

3、安装kubeadmin加载k8s镜像

3.1、添加kubernetes yum源

3.2、查看kubeadm版本

3.3、下载

3.4、下载后,进入kubernetes包,发现kubectl和kubelet存在1.24.1版本

3.4.1 删除1.24.1版本

3.4.2 下载kubelet-1.15.6

3.4.3 下载kebectl-1.15.6

3.5、安装kubeadmin组件

3.6、设置kebelet的开机启动

3.7、拉取镜像

3.7.1、查看需要依赖哪些镜像

3.7.2、拉取镜像

3.7.3 tag一下镜像

3.7.4 拉取flannel和kubernetes-dashboard-amd64

3.7.5 以下步骤逐一执行

3.8 以上从3.1到3.7的每一个步骤在每台服务器上都操作一次

4 创建k8s集群

4.1 kubeadmin/kubelet/kubectl的区别

4.2 master主服务器创建

4.3 执行要求执行的命令

如果上面的token忘记了,可以通过以下命令获取:

​编辑

4.4 安装flannel组件

4.5 从节点加入集群

5 kubernetes-dashboard安装

5.1 拉取dashboard镜像

6 Deployment部署

6.1 Deployment部署脚本范本

6.2 与部署相关的常用命令

6.3 本地部署一个tomcat

7 基于NFS的文件共享

7.1 master节点安装NFS

7.2 创建文件共享目录

7.3 配置文件共享配置

7.4 启动NFS服务

7.5 启动rpc服务

7.6 查看exports配置是否生效

7.7 节点安装NFS

7.8 从节点服务器上查看主服务器上对外共享的挂载文件夹

7.9 挂载主机共享文件目录到从节点本机的映射目录

7.10 设置节点服务器nfs为开机启动

7.11 其他从节点重复7.7-7.10的步骤安装nfs

8 利用nfs系统部署tomcat

8.1 删除以前部署的tomcat

8.2 重新编辑tomcat deploy的yml文件

8.3 创建部署文件

9 利用Rinetd实现Service负载均衡-端口转发工具Rinetd

9.1 重新编辑/local/k8s/tomcat-service下的tomcat-service.yml文件

9.2 重新创建tomcat-service.yml

9.3 查看tomcat-service

9.4 nfs对外暴漏的共享文件下存放web文件

9.5 端口转发工具Rinetd

9.5.1 Rinetd工具安装

10 K8S部署调整命令

10.1 资源限定


参考:kubernetes 集群安装,离线版 - 简书 (jianshu.com)

docker的卸载:(61条消息) Docker 安装和卸载详细步骤_北漂编程小王子的博客-CSDN博客_卸载docker

1、环境准备

1.1、服务器准备

一主二从架构:

master主机:192.168.56.110node1服务器:192.168.56.111node2服务器:192.168.56.112

1.2、服务器hostname设置

timedatectl set-timezone Asia/Shanghai #服务器都要执行hostnamectl set-hostname master #110执行hostnamectl set-hostname node1 #111执行hostnamectl set-hostname node2 #112执行

1.3、添加hosts 网络主机配置,三台虚拟机都要设置

vim /etc/hosts#主从节点服务器主机名和上面设置的主机名要一致,
192.168.56.110  master
192.168.56.111  node1
192.168.56.112  node2

三个节点直接互相通过:ping 主机名 能ping同。如在master上:ping node1

1.4、关闭防火墙,三台虚拟机都要设置,生产环境跳过这一步

学习环境可以这样设置,生产环境不要这样设置,避免因为防火墙原因造成访问不通问题:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configsetenforce 0systemctl disable firewalldsystemctl stop firewalld#重启网卡
service network restart

如图:

2、安装docker,3台服务器都安装

注意安装版本选18.09.5。

参考地址:(61条消息) docker-安装docker_荆茗Scaler的博客-CSDN博客_docker 安装docker

3、安装kubeadmin加载k8s镜像

由于kubeadm是依赖kubelet, kubectl的,所以我们只需要下载kubeadm的rpm,其依赖就自动下载下来了。但是版本可能不是我们想要的,所以可能需要单独下载。比如我下载kubeadm-1.15.6,它依赖的可能是kubelet-1.16.x。

3.1、添加kubernetes yum源

cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
enabled=1
EOF

3.2、查看kubeadm版本

yum list kubeadm --showduplicates
...
kubeadm.x86_64                                                         1.15.6-0
...     

3.3、下载

yum install --downloadonly --downloaddir ~/k8s/kubernetes kubeadm-1.15.6

3.4、下载后,进入kubernetes包,发现kubectl和kubelet存在1.24.1版本

3.4.1 删除1.24.1版本

rm -f 17013403794d47f80ade3299c74c3a646d37f195c1057da4db74fd3fd78270f1-kubectl-1.24.1-0.x86_64.rpm
rm -f d184b7647df76898e431cfc9237dea3f8830e3e3398d17b0bf90c1b479984b3f-kubelet-1.24.1-0.x86_64.rpm

3.4.2 下载kubelet-1.15.6

yum install --downloadonly --downloaddir ~/k8s/kubernetes kubelet-1.15.6

3.4.3 下载kebectl-1.15.6

yum install --downloadonly --downloaddir ~/k8s/kubernetes kubectl-1.15.6

3.5、安装kubeadmin组件

yum install ~/k8s/kubernetes/*.rpm

3.6、设置kebelet的开机启动

我们并不需要启动kubelet,就算启动,也是不能成功的。执行kubeadm命令,会生成一些配置文件 ,这时才会让kubelet启动成功的。

systemctl enable kubelet

3.7、拉取镜像

执行kubeadm时,需要用到一些镜像,我们需要提前准备。

3.7.1、查看需要依赖哪些镜像

kubeadm config images list

在生产环境,是肯定访问不了k8s.gcr.io这个地址的。在有大陆联网的机器上,也是无法访问的。所以我们需要使用国内镜像先下载下来。

解决办法很简单,我们使用docker命令搜索下:

docker search kube-apiserver

一般选择星级别高的,即STARTS多的。

3.7.2、拉取镜像

docker pull aiotceo/kube-apiserver:v1.15.6
docker pull aiotceo/kube-controller-manager:v1.15.6
docker pull aiotceo/kube-scheduler:v1.15.6
docker pull aiotceo/kube-proxy:v1.15.6
docker pull aiotceo/pause:3.1
docker pull aiotceo/etcd:3.3.10
docker pull aiotceo/coredns:1.3.1

查看镜像:

3.7.3 tag一下镜像

为了让kubeadm程序能找到k8s.gcr.io下面的镜像,需要把刚才下载的镜像名称重新打一下tag

docker images | grep aiotceo | sed 's/aiotceo/k8s.gcr.io/' | awk '{print "docker tag " $3 " " $1 ":" $2}' | sh

删除旧的镜像:

docker images | grep aiotceo | awk '{print "docker rmi " $1 ":" $2}' | sh

3.7.4 拉取flannel和kubernetes-dashboard-amd64

docker pull jmgao1983/flannel:v0.11.0-amd64docker pull loveone/kubernetes-dashboard-amd64:v1.10.1

k8s 的完整镜像:

3.7.5 以下步骤逐一执行

1. systemctl enable docker.service2. docker info | grep Cgrou3. vim /etc/docker/daemon.json{"exec-opts":["native.cgroupdriver=systemd"]
}4. 关闭交换区
swapoff -a
vi /etc/fstab
#swap一行注释5. 配置网桥,和图片错误没关系
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

3.8 以上从3.1到3.7的每一个步骤在每台服务器上都操作一次

4 创建k8s集群

4.1 kubeadmin/kubelet/kubectl的区别

  • kubeadmin:是kubernetes集群快速构建工具,这个工具能够使从节点快速的加入到集群中,简化集群构建工作。
  • kubelet:kubelet运行在所有节点上,负责启动pod和容器,以系统服务形式出现
  • kebectl:kubectl是kubenetes命令行工具,提供指令

如果服务器重启,想恢复服务,要怎么操作呢?

方法一:启动节点k8s服务

systemctl start kubelet

方法二:设置开机启动

systemctl enable kubelet

4.2 master主服务器创建

#--kubernetes-version:指定版本
#--pod-network-cidr:设置pod内虚拟ip的边界。kubeadm init --kubernetes-version=v1.15.6 --pod-network-cidr=10.24.0.0/16

如果出现以下错误:

请按照这个步骤进行配置:

1. systemctl enable docker.service2. docker info | grep Cgrou3. 一定要保证k8s的cgroup 与 docker的一致,否则可能会导致从节点k8s启动失败等问题vim /etc/docker/daemon.json{"exec-opts":["native.cgroupdriver=systemd"]
}4. 关闭交换区
swapoff -a
vi /etc/fstab
#swap一行注释5. cpu不够2个,可以修改虚拟机cpu数量为26. 配置网桥,和图片错误没关系
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

修改k8s的cgroup:failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" - wangzy-Zj - 博客园 (cnblogs.com)

4.3 执行要求执行的命令

执行3.9.2中的init命令之后,会出现以下要求执行的命令,复制命令,直接执行即可。

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

#以下文件中是集群本身的信息以及安全授权的信息
/etc/kubernetes/admin.conf#k8s默认读取的配置文件夹
$HOME/.kube/config

# 这条命令是需要在从节点服务器执行的,执行完后会把从节点加入到集群
kubeadm join 192.168.56.110:6443 --token aw4mln.kvuz5241deb17e6q \--discovery-token-ca-cert-hash sha256:b8b1c666b3ab77f53acadd084dca7be2a94c4ad9f7ad06ec25ba48e5bd505cd2

如果上面的token忘记了,可以通过以下命令获取:

kubeadm token list

4.4 安装flannel组件

pod和pod之间的通信协议组件。

#获取节点信息
kubectl get nodes#查看所有名称空间下的pod容器,包含k8s自己内部的
kubectl get pod --all-namespaces#pod和pod容器之间通信的协议组件的创建
kubectl create -f kube-flannel.yml

创建kube-flannel.yml文件,然后执行:kubectl create -f kube-flannel.yml,完成flannel组件安装。以下是:v0.15.1  版本的内容。

cat << EOF > kube-flannel.yml
---
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:name: psp.flannel.unprivilegedannotations:seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/defaultseccomp.security.alpha.kubernetes.io/defaultProfileName: docker/defaultapparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/defaultapparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default
spec:privileged: falsevolumes:- configMap- secret- emptyDir- hostPathallowedHostPaths:- pathPrefix: "/etc/cni/net.d"- pathPrefix: "/etc/kube-flannel"- pathPrefix: "/run/flannel"readOnlyRootFilesystem: false# Users and groupsrunAsUser:rule: RunAsAnysupplementalGroups:rule: RunAsAnyfsGroup:rule: RunAsAny# Privilege EscalationallowPrivilegeEscalation: falsedefaultAllowPrivilegeEscalation: false# CapabilitiesallowedCapabilities: ['NET_ADMIN', 'NET_RAW']defaultAddCapabilities: []requiredDropCapabilities: []# Host namespaceshostPID: falsehostIPC: falsehostNetwork: truehostPorts:- min: 0max: 65535# SELinuxseLinux:# SELinux is unused in CaaSPrule: 'RunAsAny'
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: flannel
rules:
- apiGroups: ['extensions']resources: ['podsecuritypolicies']verbs: ['use']resourceNames: ['psp.flannel.unprivileged']
- apiGroups:- ""resources:- podsverbs:- get
- apiGroups:- ""resources:- nodesverbs:- list- watch
- apiGroups:- ""resources:- nodes/statusverbs:- patch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: flannel
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: flannel
subjects:
- kind: ServiceAccountname: flannelnamespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:name: flannelnamespace: kube-system
---
kind: ConfigMap
apiVersion: v1
metadata:name: kube-flannel-cfgnamespace: kube-systemlabels:tier: nodeapp: flannel
data:cni-conf.json: |{"name": "cbr0","cniVersion": "0.3.1","plugins": [{"type": "flannel","delegate": {"hairpinMode": true,"isDefaultGateway": true}},{"type": "portmap","capabilities": {"portMappings": true}}]}net-conf.json: |{"Network": "10.244.0.0/16","Backend": {"Type": "vxlan"}}
---
apiVersion: apps/v1
kind: DaemonSet
metadata:name: kube-flannel-dsnamespace: kube-systemlabels:tier: nodeapp: flannel
spec:selector:matchLabels:app: flanneltemplate:metadata:labels:tier: nodeapp: flannelspec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/osoperator: Invalues:- linuxhostNetwork: truepriorityClassName: system-node-criticaltolerations:- operator: Existseffect: NoScheduleserviceAccountName: flannelinitContainers:- name: install-cni-pluginimage: rancher/mirrored-flannelcni-flannel-cni-plugin:v1.0.0command:- cpargs:- -f- /flannel- /opt/cni/bin/flannelvolumeMounts:- name: cni-pluginmountPath: /opt/cni/bin- name: install-cniimage: quay.io/coreos/flannel:v0.15.1command:- cpargs:- -f- /etc/kube-flannel/cni-conf.json- /etc/cni/net.d/10-flannel.conflistvolumeMounts:- name: cnimountPath: /etc/cni/net.d- name: flannel-cfgmountPath: /etc/kube-flannel/containers:- name: kube-flannelimage: quay.io/coreos/flannel:v0.15.1command:- /opt/bin/flanneldargs:- --ip-masq- --kube-subnet-mgrresources:requests:cpu: "100m"memory: "50Mi"limits:cpu: "100m"memory: "50Mi"securityContext:privileged: falsecapabilities:add: ["NET_ADMIN", "NET_RAW"]env:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name- name: POD_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespacevolumeMounts:- name: runmountPath: /run/flannel- name: flannel-cfgmountPath: /etc/kube-flannel/volumes:- name: runhostPath:path: /run/flannel- name: cni-pluginhostPath:path: /opt/cni/bin- name: cnihostPath:path: /etc/cni/net.d- name: flannel-cfgconfigMap:name: kube-flannel-cfg
EOF

如果所有pod都是Running状态,那么就成功master节点就成功创建好了。

4.5 从节点加入集群

从节点上按照上面从3.1到3.7执行一遍

执行3.9.3中的:kubeadm join ..... 命令后,就加入集群中了。

5 kubernetes-dashboard安装

5.1 拉取dashboard镜像

docker pull loveone/kubernetes-dashboard-amd64:v1.10.1

预留。。。。。。。。。。。

6 Deployment部署

6.1 Deployment部署脚本范本

6.2 与部署相关的常用命令

#创建部署
kubectl create -f 部署yml文件#更新部署配置
kubectl apply -f 部署yml文件#查看已部署pod
kubectl get pod [-o wide]#查看pod详细信息
kubectl describe pod  pod名称 #查看pod日志输出
kubectl logs [-f]  pod名称

6.3 本地部署一个tomcat

1、创建一个目录存放部署yml文件

mkdir -p /local/k8s/tomcat-deploy

2、创建部署文件

vim tomcat-deploy.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata: name: tomcat-deploy
spec:replicas: 2template:metadata:labels:app: tomcat-cluster   #要被tomcat-service选择绑定,绑定成功,就可转发请求到被绑定的服务spec:containers:- name: tomcat-clusterimage: tomcat:latest  #容器镜像ports:- containerPort: 8080  #pod内的端口

3、创建部署

kubectl create -f ./tomcat-deploy.yml

4、查看部署

kubectl get deployment

 5、获取详细信息的pod

kubectl get pod -o wide

 6、查看某一个pod的详细信息

kubectl describe pod tomcat-deploy-b76dd4475-hh9zf(pod名称)

7、查看pod内部的日志

kubectl logs tomcat-deploy-b76dd4475-hh9zf(pod名称)

目前要想访问tomcat还是不行的,需要创建一个service

8、创建tomcat-service包的路径

mkdir -p /local/k8s/tomcat-service

9、创建tomcat-service服务yml 文件,service服务能够负载请求到其他node节点。

vim tomcat-service.yml

apiVersion: v1
kind: Service
metadata: name: tomcat-service
spec:type: NodePortselector:app: tomcat-cluster  #选择绑定的集群名,是tomcat部署文件中设置的模板标签名ports:- port: 8000           #service的pod中iptargetPort: 8080     #node节点中pod内服务的端口nodePort: 32500      #映射宿主机的端口,三个tomcat服务映射的宿主机端口

10、创建tomcat-service服务

kubectl create -f ./tomcat-service.yml

11、查看服务是否创建成功

kubectl get service

12、查看服务service的详细信息

kubectl describe service tomcat-service

13、进入容器

kubectl exec -it tomcat-deployment-795d745898-fvswl /bin/bash

以上tomcat就可以通过ip:32500 访问了,如果访问不通,参考:

(76条消息) k8s使用kubectl创建tomcat访问页面出现404页面_吃葡萄不吐西瓜皮~的博客-CSDN博客

7 基于NFS的文件共享

  • NFS:Network File System
  • 由SUN公司研制的文件传输协议。
  • NFS主要采用远程过程调用RPC机制实现文件传输,给使用者读取远程文件就像本地读取文件一样方便。
  • yum install -y nfs-utils rpcbind 。由文件提供方来安装。

7.1 master节点安装NFS

由master节点服务器作为文件共享服务器。

yum install -y nfs-utils rpcbind

7.2 创建文件共享目录

这个目录先会存放所有需要部署的共享文件。

mkdir -p /usr/local/data/www-data

7.3 配置文件共享配置

vim /etc/exports#以下为exports中内容。192.168.56.110/24为提供方服务器ip,rw为读写权限,sync为本地或远程有文件变更时及时同步变更的内容。
/usr/local/data/www-data 192.168.56.110/24(rw,sync)
#重新加载配置文件
rinetd -c /etc/rinetd.conf

7.4 启动NFS服务

#启动服务
systemctl start nfs.service#设置为开机启动
systemctl enable nfs.service

7.5 启动rpc服务

#启动服务
systemctl start rpcbind.service#设置为开机启动
systemctl enable rpcbind.service

7.6 查看exports配置是否生效

exportfs

显示下面成功。

7.7 节点安装NFS

node节点上安装nfs-utils工具集就可以了。

yum install -y nfs-utils

7.8 从节点服务器上查看主服务器上对外共享的挂载文件夹

showmount -e 192.168.56.110

可以查出 /usr/local/data/www-data对外共享文件:

7.9 挂载主机共享文件目录到从节点本机的映射目录

/mnt下不是真正存在远程文件,而是映射的远程文件,连接到主服务器上读取。

mount 192.168.56.110:/usr/local/data/www-data /mnt

7.10 设置节点服务器nfs为开机启动

systemctl enable nfs.service

7.11 其他从节点重复7.7-7.10的步骤安装nfs

8 利用nfs系统部署tomcat

8.1 删除以前部署的tomcat

#1、查看部署
kubectl get deployment#2、删除部署文件
kubectl delete deployment 部署文件名称#3、查看pod
kubectl get pod#4、查看service
kubectl get service#5、删除service
kubectl delete service  service名称

8.2 重新编辑tomcat deploy的yml文件

vim tomcat-deploy.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata: name: tomcat-deploy
spec:replicas: 2template:metadata:labels:app: tomcat-cluster   #要被tomcat-service选择绑定,绑定成功,就可转发请求到被绑定的服务spec:volumes:- name: web-app  #别名hostPath:path: /mnt  #从节点容器挂载点,宿主机原始目录containers:- name: tomcat-clusterimage: tomcat:latest  #容器镜像ports:- containerPort: 8080  #pod内的端口volumeMounts:- name: web-appmountPath: /usr/local/tomcat/webapps   #用/mnt目录下的内容替代调pod中的这个目录下的内容

8.3 创建部署文件

kubectl create -f tomcat-deploy.yml#进入pod容器内部
kubectl exec -it pod名称 /bin/bash

9 利用Rinetd实现Service负载均衡-端口转发工具Rinetd

9.1 重新编辑/local/k8s/tomcat-service下的tomcat-service.yml文件

我们不在使用node节点对外暴漏32500端口来接受外部请求,所有请求都得需要master节点接收。


apiVersion: v1
kind: Service
metadata:name: tomcat-service
spec:
#  type: NodePortselector:app: tomcat-clusterports:- port: 8000targetPort: 8080#   nodePort: 32500

9.2 重新创建tomcat-service.yml

kubectl create -f tomcat-service.yml

9.3 查看tomcat-service

kubectl get servicekubectl describe service tomcat-service

9.4 nfs对外暴漏的共享文件下存放web文件

cd /usr/local/data/www-data/test

vim index.jsp

<%=request.getLocalAddr()%>

访问master节点k8s的虚拟:ip+端口

可以看出被随机转发给下游节点了。

9.5 端口转发工具Rinetd

9.5.1 Rinetd工具安装

cd /usr/localwget http://www.boutell.com/rinetd/http/rinetd.tar.gztar -zxvf rinetd.tar.gz  或者 unzip rinetd.tar.gzcd /rinetdsed -i 's/65536/65535/g' rinetd.cmkdir -p /usr/manyum install -y gccmake && make installvim /etc/rinetd.conf#以下为rinetd.conf的内容,宿主机的ip port 映射 k8s的 ip  port
0.0.0.0 8000 10.109.146.76 8000#重新加载配置
rinetd -c /etc/rinetd.conf#查看服务其上ip和暴漏的端口号
netstat -tulpn

10 K8S部署调整命令

10.1 资源限定

下面内容可以更新到部署文件的yml中,做资源限定。更新内容后,可执行:

kubectl apply -f xxx.yml

containers:-name: tomcat-clusterimage: tomcat:latestresources:requests:  #最少的需求cpu: 1   #至少有一个cpu空闲memory: 500Mi    #至少内存有500mb空闲 才能创建容器podlimits:    #上限cpu: 2   #上限2个cpumemory: 1024Mi    #内存上限1024mb

k8s-linux上安装相关推荐

  1. linux上安装mysql,tomcat,jdk

    Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a)         查看安装哪些jdk rmp –qa |grep java b)   ...

  2. linux下安装sbt_如何在Linux上安装SBT

    linux下安装sbt 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you how to install ...

  3. 在Linux上安装QT4

    比起在Windows上安装QT,在Linux上安装QT要容易多了,这都得意于Linux系统的autoconf和automake工具. 1. 将QT的源码包放至到一个目录下,笔者的目录是:/home/k ...

  4. 明明安装了模块,还是出现 错误 ImportError: No module named ‘pandas‘ 原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解

    明明安装了模块,还是出现 错误 ImportError: No module named 'pandas'  原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解 ...

  5. linux上安装redis

    Redis Redis在linux上安装 将redis-3.0.7.tar.gz上传到linux虚拟机上 编译: a)       因为redis是C语言开发,所以需要先编译,在linux上编译需要依 ...

  6. Linux上安装paramiko模块

    Linux上安装paramiko模块 一.paramiko模块作用 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是pyt ...

  7. 在linux上安装Filezilla文件传输FTP软件

    在linux上安装Filezilla文件传输FTP软件 1 Filezilla安装方法一:使用apt-get安装 2 Filezilla安装方法二:使用filezilla安装包进行安装 1 Filez ...

  8. 如何在 Linux 上安装服务器管理软件 Cockpit

    如何在 Linux 上安装服务器管理软件 Cockpit Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Co ...

  9. kali linux 的ssh服务器,如何在 Kali Linux 上安装 SSH 服务

    目的 我们的目的是 Kali Linux 上安装 SSH(安全 shell). 要求 你需要有特权访问你的 Kali Linux 安装或者 Live 系统. 困难程度 很容易! 惯例 #– 给定命令需 ...

  10. 怎么在linux上装java,如何在Ubuntu Linux上安装Java

    介绍 如何在Ubuntu Linux上安装Java?尽管对于一个经验丰富的Linux系统管理员来说,这个主题是一个很容易理解的话题,但是对于初学者而言,在我需要什么版本的Java,如何安装它或如何在多 ...

最新文章

  1. go interface转int_24. 图解 Go语言中的反射三定律
  2. com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围
  3. Linux下Birt、JTreeChart中文乱码问题解决办法
  4. mysql更改安装路径6_关于mysql安装后更改数据库路径方法-Centos6环境
  5. android ddmlib,通过 ddmlib 使用 adb,构建框架基础库
  6. netty框架实现websocket达到高并发
  7. Spring Cloud学习笔记---一分钟知晓Zuul
  8. python pywinauto 自动控制微信, 关键字回复、收款、定时任务, 代替人工成为微信客服
  9. 软考网络工程师易错100问
  10. cs透视源码c语言,CS--GO透视自瞄C++源码 CSGO C++源代码 参考学习!!!(CSGO C++ source code) - 下载 - 搜珍网...
  11. 喜马拉雅FM下载的音频文件保存在哪_怎么导出来
  12. ImageAssitant插件 — 一件提取网页图片
  13. 随机过程之平稳过程与各态历经过程
  14. 似然比和p值不同的原因_二代P值:传统P值的升级 | 社论前沿
  15. hazelcast java_Hazelcast
  16. 视觉3d中五折幕的震撼这就是沉浸式屏幕
  17. 用PS设计制作一款玉石图案
  18. MUI前端代码生成快捷键
  19. js验证固定电话(座机)、手机号码
  20. Matlab学习笔记(1) - 符号变量及其运算

热门文章

  1. android 监听锁屏 权限,Android中监听锁屏变化和防止锁屏
  2. STM32F407 ADC+DMA+定时器 定时采样模拟量
  3. 基于STM32F407的ADC解析-ADC1多通道扫描模式电压采集实验(启用DMA传输数据)
  4. 条形码、二维码、RFID优缺点,卫星定位,传感器分类及应用场景
  5. 电影网站 php asp,asp电影网址导航大全 V20201218
  6. VMT进阶1-自发光
  7. python获取erp数据_python自学之路-数据读取
  8. 《计算机网络 自顶向下方法》(第7版)答案(第三章)(三)
  9. hdu4966 最小树形图+虚根
  10. Redis服务入侵记