使用kubeadm初始化IPV4/IPV6集群

图片

CentOS 配置YUM源

  1. cat <<EOF > /etc/yum.repos.d/kubernetes.repo
  2. [kubernetes]
  3. name=kubernetes
  4. baseurl=https://mirrors.ustc.edu.cn/kubernetes/yum/repos/kubernetes-el7-$basearch
  5. enabled=1
  6. EOF
  7. setenforce 0
  8. yum install -y kubelet kubeadm kubectl
  9. # 如安装老版本
  10. # yum install kubelet-1.16.9-0 kubeadm-1.16.9-0 kubectl-1.16.9-0
  11. systemctl enable kubelet && systemctl start kubelet
  12. # 将 SELinux 设置为 permissive 模式(相当于将其禁用)
  13. sudo setenforce 0
  14. sudo sed -'s/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
  15. sudo systemctl enable --now kubelet

Ubuntu 配置APT源

  1. curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  2. cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
  3. deb https://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
  4. EOF
  5. apt-get update
  6. apt-get install -y kubelet kubeadm kubectl
  7. # 如安装老版本
  8. # apt install kubelet=1.23.6-00 kubeadm=1.23.6-00 kubectl=1.23.6-00

配置containerd

  1. wget https://github.com/containerd/containerd/releases/download/v1.6.4/cri-containerd-cni-1.6.4-linux-amd64.tar.gz
  2. #解压
  3. tar -/ -xzf cri-containerd-cni-1.6.4-linux-amd64.tar.gz
  4. #创建服务启动文件
  5. cat > /etc/systemd/system/containerd.service <<EOF
  6. [Unit]
  7. Description=containerd container runtime
  8. Documentation=https://containerd.io
  9. After=network.target local-fs.target
  10. [Service]
  11. ExecStartPre=-/sbin/modprobe overlay
  12. ExecStart=/usr/local/bin/containerd
  13. Type=notify
  14. Delegate=yes
  15. KillMode=process
  16. Restart=always
  17. RestartSec=5
  18. LimitNPROC=infinity
  19. LimitCORE=infinity
  20. LimitNOFILE=infinity
  21. TasksMax=infinity
  22. OOMScoreAdjust=-999
  23. [Install]
  24. WantedBy=multi-user.target
  25. EOF
  26. mkdir -/etc/containerd
  27. containerd config default | tee /etc/containerd/config.toml
  28. sed -"s#k8s.gcr.io#registry.cn-hangzhou.aliyuncs.com/chenby#g" /etc/containerd/config.toml
  29. systemctl daemon-reload
  30. systemctl enable --now containerd

配置基础环境

  1. cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
  2. br_netfilter
  3. EOF
  4. cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
  5. net.ipv4.ip_forward = 1
  6. net.bridge.bridge-nf-call-iptables = 1
  7. fs.may_detach_mounts = 1
  8. vm.overcommit_memory=1
  9. vm.panic_on_oom=0
  10. fs.inotify.max_user_watches=89100
  11. fs.file-max=52706963
  12. fs.nr_open=52706963
  13. net.netfilter.nf_conntrack_max=2310720
  14. net.ipv4.tcp_keepalive_time = 600
  15. net.ipv4.tcp_keepalive_probes = 3
  16. net.ipv4.tcp_keepalive_intvl =15
  17. net.ipv4.tcp_max_tw_buckets = 36000
  18. net.ipv4.tcp_tw_reuse = 1
  19. net.ipv4.tcp_max_orphans = 327680
  20. net.ipv4.tcp_orphan_retries = 3
  21. net.ipv4.tcp_syncookies = 1
  22. net.ipv4.tcp_max_syn_backlog = 16384
  23. net.ipv4.ip_conntrack_max = 65536
  24. net.ipv4.tcp_max_syn_backlog = 16384
  25. net.ipv4.tcp_timestamps = 0
  26. net.core.somaxconn = 16384
  27. net.ipv6.conf.all.disable_ipv6 = 0
  28. net.ipv6.conf.default.disable_ipv6 = 0
  29. net.ipv6.conf.lo.disable_ipv6 = 0
  30. net.ipv6.conf.all.forwarding = 1
  31. EOF
  32. sudo sysctl --system
  33. hostnamectl set-hostname k8s-master01
  34. hostnamectl set-hostname k8s-node01
  35. hostnamectl set-hostname k8s-node02
  36. sed -ri 's/.*swap.*/#&/' /etc/fstab
  37. swapoff -&& sysctl -w vm.swappiness=0
  38. cat /etc/fstab
  39. hostnamectl set-hostname k8s-master01
  40. hostnamectl set-hostname k8s-node01
  41. hostnamectl set-hostname k8s-node02
  42. cat > /etc/hosts <<EOF
  43. 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  44. ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  45. 2408:8207:78ce:7561::21 k8s-master01
  46. 2408:8207:78ce:7561::22 k8s-node01
  47. 2408:8207:78ce:7561::23 k8s-node02
  48. 10.0.0.21 k8s-master01
  49. 10.0.0.22 k8s-node01
  50. 10.0.0.23 k8s-node02
  51. EOF

初始化安装

  1. root@k8s-master01:~# kubeadm config images list --image-repository registry.cn-hangzhou.aliyuncs.com/chenby
  2. registry.cn-hangzhou.aliyuncs.com/chenby/kube-apiserver:v1.24.0
  3. registry.cn-hangzhou.aliyuncs.com/chenby/kube-controller-manager:v1.24.0
  4. registry.cn-hangzhou.aliyuncs.com/chenby/kube-scheduler:v1.24.0
  5. registry.cn-hangzhou.aliyuncs.com/chenby/kube-proxy:v1.24.0
  6. registry.cn-hangzhou.aliyuncs.com/chenby/pause:3.7
  7. registry.cn-hangzhou.aliyuncs.com/chenby/etcd:3.5.3-0
  8. registry.cn-hangzhou.aliyuncs.com/chenby/coredns:v1.8.6
  9. root@k8s-master01:~# vim kubeadm.yaml 
  10. root@k8s-master01:~# cat kubeadm.yaml
  11. apiVersion: kubeadm.k8s.io/v1beta3
  12. kind: InitConfiguration
  13. localAPIEndpoint:
  14.   advertiseAddress: "2408:8207:78ce:7561::21"
  15.   bindPort: 6443
  16. nodeRegistration:
  17.   taints:
  18.   - effect: PreferNoSchedule
  19.     key: node-role.kubernetes.io/master
  20. ---
  21. apiVersion: kubeadm.k8s.io/v1beta3
  22. kind: ClusterConfiguration
  23. kubernetesVersion: v1.24.0
  24. imageRepository: registry.cn-hangzhou.aliyuncs.com/chenby
  25. networking:
  26.   podSubnet: 172.16.0.0/12,fc00::/48
  27.   serviceSubnet: 10.96.0.0/12,fd00::/108
  28. root@k8s-master01:~#
  29. root@k8s-master01:~# 
  30. root@k8s-master01:~# kubeadm init --config=kubeadm.yaml 
  31. [init] Using Kubernetes version: v1.24.0
  32. [preflight] Running pre-flight checks
  33. [preflight] Pulling images required for setting up a Kubernetes cluster
  34. [preflight] This might take a minute or two, depending on the speed of your internet connection
  35. [preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
  36. [certs] Using certificateDir folder "/etc/kubernetes/pki"
  37. [certs] Generating "ca" certificate and key
  38. [certs] Generating "apiserver" certificate and key
  39. [certs] apiserver serving cert is signed for DNS names [k8s-master01 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.0.0.21]
  40. [certs] Generating "apiserver-kubelet-client" certificate and key
  41. [certs] Generating "front-proxy-ca" certificate and key
  42. [certs] Generating "front-proxy-client" certificate and key
  43. [certs] Generating "etcd/ca" certificate and key
  44. [certs] Generating "etcd/server" certificate and key
  45. [certs] etcd/server serving cert is signed for DNS names [k8s-master01 localhost] and IPs [10.0.0.21 127.0.0.1 ::1]
  46. [certs] Generating "etcd/peer" certificate and key
  47. [certs] etcd/peer serving cert is signed for DNS names [k8s-master01 localhost] and IPs [10.0.0.21 127.0.0.1 ::1]
  48. [certs] Generating "etcd/healthcheck-client" certificate and key
  49. [certs] Generating "apiserver-etcd-client" certificate and key
  50. [certs] Generating "sa" key and public key
  51. [kubeconfig] Using kubeconfig folder "/etc/kubernetes"
  52. [kubeconfig] Writing "admin.conf" kubeconfig file
  53. [kubeconfig] Writing "kubelet.conf" kubeconfig file
  54. [kubeconfig] Writing "controller-manager.conf" kubeconfig file
  55. [kubeconfig] Writing "scheduler.conf" kubeconfig file
  56. [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
  57. [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
  58. [kubelet-start] Starting the kubelet
  59. [control-plane] Using manifest folder "/etc/kubernetes/manifests"
  60. [control-plane] Creating static Pod manifest for "kube-apiserver"
  61. [control-plane] Creating static Pod manifest for "kube-controller-manager"
  62. [control-plane] Creating static Pod manifest for "kube-scheduler"
  63. [etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
  64. [wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
  65. [apiclient] All control plane components are healthy after 6.504341 seconds
  66. [upload-config] Storing the configuration used in ConfigMap "kubeadm-config" in the "kube-system" Namespace
  67. [kubelet] Creating a ConfigMap "kubelet-config" in namespace kube-system with the configuration for the kubelets in the cluster
  68. [upload-certs] Skipping phase. Please see --upload-certs
  69. [mark-control-plane] Marking the node k8s-master01 as control-plane by adding the labels: [node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]
  70. [mark-control-plane] Marking the node k8s-master01 as control-plane by adding the taints [node-role.kubernetes.io/master:PreferNoSchedule]
  71. [bootstrap-token] Using token: lnodkp.3n8i4m33sqwg39w2
  72. [bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles
  73. [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to get nodes
  74. [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials
  75. [bootstrap-token] Configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token
  76. [bootstrap-token] Configured RBAC rules to allow certificate rotation for all node client certificates in the cluster
  77. [bootstrap-token] Creating the "cluster-info" ConfigMap in the "kube-public" namespace
  78. [kubelet-finalize] Updating "/etc/kubernetes/kubelet.conf" to point to a rotatable kubelet client certificate and key
  79. [addons] Applied essential addon: CoreDNS
  80. [addons] Applied essential addon: kube-proxy
  81. Your Kubernetes control-plane has initialized successfully!
  82. To start using your cluster, you need to run the following as a regular user:
  83.   mkdir -p $HOME/.kube
  84.   sudo cp -/etc/kubernetes/admin.conf $HOME/.kube/config
  85.   sudo chown $(id -u):$(id -g) $HOME/.kube/config
  86. Alternatively, if you are the root user, you can run:
  87.   export KUBECONFIG=/etc/kubernetes/admin.conf
  88. You should now deploy a pod network to the cluster.
  89. Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  90.   https://kubernetes.io/docs/concepts/cluster-administration/addons/
  91. Then you can join any number of worker nodes by running the following on each as root:
  92. kubeadm join 10.0.0.21:6443 --token lnodkp.3n8i4m33sqwg39w2 \
  93.     --discovery-token-ca-cert-hash sha256:0ed7e18ea2b49bb599bc45e72f764bbe034ef1dce47729f2722467c167754da8 
  94. root@k8s-master01:~# 
  95. root@k8s-master01:~#   mkdir -p $HOME/.kube
  96. root@k8s-master01:~#   sudo cp -/etc/kubernetes/admin.conf $HOME/.kube/config
  97. root@k8s-master01:~#   sudo chown $(id -u):$(id -g) $HOME/.kube/config
  98. root@k8s-master01:~# 
  99. root@k8s-node01:~# kubeadm join 10.0.0.21:6443 --token qf3z22.qwtqieutbkik6dy4 \
  100. > --discovery-token-ca-cert-hash sha256:2ade8c834a41cc1960993a600c89fa4bb86e3594f82e09bcd42633d4defbda0d
  101. [preflight] Running pre-flight checks
  102. [preflight] Reading configuration from the cluster...
  103. [preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
  104. [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
  105. [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
  106. [kubelet-start] Starting the kubelet
  107. [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...
  108. This node has joined the cluster:
  109. * Certificate signing request was sent to apiserver and a response was received.
  110. * The Kubelet was informed of the new secure connection details.
  111. Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
  112. root@k8s-node01:~# 
  113. root@k8s-node02:~# kubeadm join 10.0.0.21:6443 --token qf3z22.qwtqieutbkik6dy4 \
  114. > --discovery-token-ca-cert-hash sha256:2ade8c834a41cc1960993a600c89fa4bb86e3594f82e09bcd42633d4defbda0d
  115. [preflight] Running pre-flight checks
  116. [preflight] Reading configuration from the cluster...
  117. [preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
  118. [kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
  119. [kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
  120. [kubelet-start] Starting the kubelet
  121. [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...
  122. This node has joined the cluster:
  123. * Certificate signing request was sent to apiserver and a response was received.
  124. * The Kubelet was informed of the new secure connection details.
  125. Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
  126. root@k8s-node02:~#

查看集群

  1. root@k8s-master01:~# kubectl  get node
  2. NAME           STATUS   ROLES           AGE    VERSION
  3. k8s-master01   Ready    control-plane   111s   v1.24.0
  4. k8s-node01     Ready    <none>          82s    v1.24.0
  5. k8s-node02     Ready    <none>          92s    v1.24.0
  6. root@k8s-master01:~# 
  7. root@k8s-master01:~# 
  8. root@k8s-master01:~# kubectl  get pod -A
  9. NAMESPACE     NAME                                   READY   STATUS    RESTARTS   AGE
  10. kube-system   coredns-bc77466fc-jxkpv                1/1     Running   0          83s
  11. kube-system   coredns-bc77466fc-nrc9l                1/1     Running   0          83s
  12. kube-system   etcd-k8s-master01                      1/1     Running   0          87s
  13. kube-system   kube-apiserver-k8s-master01            1/1     Running   0          89s
  14. kube-system   kube-controller-manager-k8s-master01   1/1     Running   0          87s
  15. kube-system   kube-proxy-2lgrn                       1/1     Running   0          83s
  16. kube-system   kube-proxy-69p9r                       1/1     Running   0          47s
  17. kube-system   kube-proxy-g58m2                       1/1     Running   0          42s
  18. kube-system   kube-scheduler-k8s-master01            1/1     Running   0          87s
  19. root@k8s-master01:~#

配置calico

  1. wget https://raw.githubusercontent.com/cby-chen/Kubernetes/main/yaml/calico-ipv6.yaml
  2. # vim calico-ipv6.yaml
  3. # calico-config ConfigMap处
  4.     "ipam": {
  5.         "type": "calico-ipam",
  6.         "assign_ipv4": "true",
  7.         "assign_ipv6": "true"
  8.     },
  9.     - name: IP
  10.       value: "autodetect"
  11.     - name: IP6
  12.       value: "autodetect"
  13.     - name: CALICO_IPV4POOL_CIDR
  14.       value: "172.16.0.0/16"
  15.     - name: CALICO_IPV6POOL_CIDR
  16.       value: "fc00::/48"
  17.     - name: FELIX_IPV6SUPPORT
  18.       value: "true"
  19. kubectl  apply -f calico-ipv6.yaml

测试IPV6

  1. root@k8s-master01:~# cat cby.yaml 
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5.   name: chenby
  6. spec:
  7.   replicas: 3
  8.   selector:
  9.     matchLabels:
  10.       app: chenby
  11.   template:
  12.     metadata:
  13.       labels:
  14.         app: chenby
  15.     spec:
  16.       containers:
  17.       - name: chenby
  18.         image: nginx
  19.         resources:
  20.           limits:
  21.             memory: "128Mi"
  22.             cpu: "500m"
  23.         ports:
  24.         - containerPort: 80
  25. ---
  26. apiVersion: v1
  27. kind: Service
  28. metadata:
  29.   name: chenby
  30. spec:
  31.   ipFamilyPolicy: PreferDualStack
  32.   ipFamilies:
  33.   - IPv6
  34.   - IPv4
  35.   type: NodePort
  36.   selector:
  37.     app: chenby
  38.   ports:
  39.   - port: 80
  40.     targetPort: 80
  41. kubectl  apply -f cby.yaml 
  42. root@k8s-master01:~# kubectl  get pod 
  43. NAME                      READY   STATUS    RESTARTS   AGE
  44. chenby-57479d5997-6pfzg   1/1     Running   0          6m
  45. chenby-57479d5997-jjwpk   1/1     Running   0          6m
  46. chenby-57479d5997-pzrkc   1/1     Running   0          6m
  47. root@k8s-master01:~# kubectl  get svc
  48. NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
  49. chenby       NodePort    fd00::f816   <none>        80:30265/TCP   6m7s
  50. kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP        168m
  51. root@k8s-master01:~# curl -I http://[2408:8207:78ce:7561::21]:30265/
  52. HTTP/1.1 200 OK
  53. Server: nginx/1.21.6
  54. Date: Wed, 11 May 2022 07:01:43 GMT
  55. Content-Type: text/html
  56. Content-Length: 615
  57. Last-Modified: Tue, 25 Jan 2022 15:03:52 GMT
  58. Connection: keep-alive
  59. ETag: "61f01158-267"
  60. Accept-Ranges: bytes
  61. root@k8s-master01:~# curl -I http://10.0.0.21:30265/
  62. HTTP/1.1 200 OK
  63. Server: nginx/1.21.6
  64. Date: Wed, 11 May 2022 07:01:54 GMT
  65. Content-Type: text/html
  66. Content-Length: 615
  67. Last-Modified: Tue, 25 Jan 2022 15:03:52 GMT
  68. Connection: keep-alive
  69. ETag: "61f01158-267"
  70. Accept-Ranges: bytes

https://www.oiox.cn/

https://www.chenby.cn/

https://blog.oiox.cn/

https://cby-chen.github.io/

https://blog.csdn.net/qq_33921750

https://my.oschina.net/u/3981543

https://www.zhihu.com/people/chen-bu-yun-2

https://segmentfault.com/u/hppyvyv6/articles

https://juejin.cn/user/3315782802482007

https://cloud.tencent.com/developer/column/93230

https://www.jianshu.com/u/0f894314ae2c

https://www.toutiao.com/c/user/token/MS4wLjABAAAAeqOrhjsoRZSj7iBJbjLJyMwYT5D0mLOgCoo4pEmpr4A/

CSDN、GitHub、知乎、开源中国、思否、掘金、简书、腾讯云、今日头条、个人博客、全网可搜《小陈运维》

文章主要发布于微信公众号:《Linux运维交流社区》

使用kubeadm初始化IPV4/IPV6集群的更多相关文章

  1. 使用 kubeadm 搭建 kubernetes1.10 集群

    PS:所有节点安装之前记得先把镜像准备好,否者将无法启动,也不报错. $ cat /etc/hosts192.168.11.1 master192.168.11.2 node 禁用防火墙: $ sys ...

  2. 使用kubeadm搭建kubernetes1.10集群 Posted on April 14, 2018

    https://blog.qikqiak.com/post/use-kubeadm-install-kubernetes-1.10/ kubeadm是Kubernetes官方提供的用于快速安装 Kub ...

  3. 使用kubeadm方式搭建K8S集群

    使用kubeadm方式搭建K8S集群 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Ma ...

  4. kubernetes kubeadm部署高可用集群

    k8s kubeadm部署高可用集群 kubeadm是官方推出的部署工具,旨在降低kubernetes使用门槛与提高集群部署的便捷性. 同时越来越多的官方文档,围绕kubernetes容器化部署为环境 ...

  5. Kubeadm安装的K8S集群1年证书过期问题的解决思路

    这个问题,很多使用使用kubeadm的用户都会遇到. 网上也有类似的帖子,从源代码编译这种思路, 在生产环境,有些不现实. 还是使用kubeadm的命令操作,比较自然一点. 当然,自行生成一套证书,也 ...

  6. 【Kubernetes学习笔记】-kubeadm 手动搭建kubernetes 集群

    目录 K8S 组件构成 环境准备 (以ubuntu系统为例) 1. kubernetes集群机器 2. 安装 docker. kubeadm.kubelet.kubectl 2.1 在每台机器上安装 ...

  7. 通过kubeadm工具部署k8s集群

    1.概述 kubeadm是一工具箱,通过kubeadm工具,可以快速的创建一个最小的.可用的,并且符合最佳实践的k8s集群. 本文档介绍如何通过kubeadm工具快速部署一个k8s集群. 2.主机规划 ...

  8. Kubernetes探索学习001--Centos7.6使用kubeadm快速部署Kubernetes集群

    Centos7.6使用kubeadm快速部署kubernetes集群 为什么要使用kubeadm来部署kubernetes?因为kubeadm是kubernetes原生的部署工具,简单快捷方便,便于新 ...

  9. kubeadm安装Kubernetes13.1集群-三

    环境: master: 192.168.3.100 node01: 192.168.3.101 node02: 192.168.3.102 关闭所有主机防火墙,selinux: 配置主机互信: mas ...

  10. kubeadm部署高可用集群Kubernetes 1.14.1版本

    Kubernetes高可用集群部署 部署架构: Master 组件: kube-apiserver Kubernetes API,集群的统一入口,各组件协调者,以HTTP API提供接口服务,所有对象 ...

随机推荐

  1. c++ read and save txt

    read and save #include "util/image_util.h" #ifdef USE_PANGOLIN_VIEWER #include "pango ...

  2. 六、js创建页码器:分页、上一页下一页、省略页码

    表格数据太多,需要做成分页.因此需要写一个页码器. 1,初始化页码 获取数据之后渲染页码器,页码器初始化,小于6页的全部展示,否则展示前四页,后面是省略号,最后展示尾页.默认选中第一页,禁用前一页的箭 ...

  3. idea中 .gitignore文件的使用

    idea中 .gitignore文件的使用 首先保证当前的所有文件都没有被git追踪 如果被追踪,建议先取消git的版本控制 输入如下指令 find . -name ".git" ...

  4. 设置mode='out-on'导致路由切换过快路由加载报错 Failed to execute 'insertBefore' on 'Node'

    原代码: 解决代码: 原因未知

  5. 2003031126-石升福-python数据分析第四周作业-第二次作业

    项目 matplotlib 博客名称 2003031126-石升福-Python数据分析第四周作业 班级链接 20级数据班 作业链接 第二次作业 要求 每道题要有题目,代码(使用插入代码,不会插入代码 ...

  6. Oracle账户被锁住,解锁

    转载自:https://blog.csdn.net/weixin_43464743/article/details/121226334 方法一PLSQL解锁1.用dba用户登录plsql.2.左侧选择 ...

  7. javaheima15 递归

    Java File 作用 创建对象定位文件,可以删除.获取文件信息等.但不能读写文件内容. 构建对象的方式 File file = new File("文件/文件/绝对路径/相对路径&quo ...

  8. 【Unity】关于VS条件编译符号

    写在前面 起因:我在回顾LuaFramework_UGUI(作者Jarjin Lee)代码时,看到了C#代码中的条件编译符号,比如下图的ASYNC_MODE.虽然字面上知道是什么意思,但我对VS的条件 ...

  9. 一道网红题:Java值传递,答案开始看了不太懂,是不是涉及到了匿名类的实例化?

    题目如下:看起来是值传递的考察... public class Test{ public static void main(String[] args){ int a = 10; int b = 10 ...

  10. SQL SERVER 2014 双机热备操作流程-数据库双向同步 (第一篇:发布)

    需求:需要两个数据库双向同步,即A数据库变动,B及时更新.B数据库变动,A及时更新.思路:利用SQL Server的发布和订阅功能进行同步,在A数据库进行发布<合并发布>,在B数据库进行订 ...