Kubernetes1.23版本搭建(三台机器)

从零搭建k8s集群,基于k8s-1.23.0版本 从零搭建k8s集群 阅读详情

Ubuntu部署 Kubernetes1.23

  • 资源列表

准备三台Ubuntu的服务器,配置好网络。

主机名IP所需软件
master192.168.221.21Docker Ce、kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、Etcd、kube-proxy
node1192.168.221.22Docker CE、kubectl、kube-proxy、Flnnel
node2192.168.221.23Docker CE、kubectl、kube-proxy、Flnnel

基础环境(三台机器都执行)

 # 分别修改主机名
 hostnamectl set-hostname master
 hostnamectl set-hostname node1
 hostnamectl set-hostname node2
 # 切换root用户(已经是的话就省略)
 su -
 # 绑定hosts解析
 cat >> /etc/hosts << EOF
 192.168.221.21 master
 192.168.221.22 node1
 192.168.221.23 node2
 EOF


 ### 一、环境准备
 # 1.1、安装常用软件
 # 更新软件仓库
 apt update
 # 安装常用软件
 apt install vim lrzsz unzip wget net-tools tree bash-completion telnet -y
 # 1.2、关闭交换分区- kubeadm不支持swap交换分区
 # 临时关闭
 swapoff -a
 # 或者永久关闭
 sed -i '/swap/s/^/#/' /etc/fstab
 # 1.3、开启IPv4转发和内核优化
 cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
 net.bridge.bridge-nf-call-iptables  = 1
 net.bridge.bridge-nf-call-ip6tables = 1
 net.ipv4.ip_forward            = 1
 EOF
 sysctl --system
 # 1.4、时间同步
 apt -y install ntpdate
 ntpdate ntp.aliyun.com


 ### 二、安装Docker
 # 2.1、卸载残留Docker软件包(没有下载过就跳过)
 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
 # 2.2、更新软件包- 在终端中执行以下命令来更新Ubuntu软件包列表和已安装软件的版本升级
 sudo apt update
 sudo apt upgrade
 # 2.3、安装Docker依赖- Docker在Ubuntu上依赖一些软件包,执行以下命令来安装这些依赖
 apt-get -y install ca-certificates curl gnupg lsb-release
 # 2.4、添加Docker官方GPG密钥- 执行以下命令来添加Docker官方的GPG密钥
 # 最终回显OK表示运行命令正确
 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
 # 2.5、添加Docker软件源
 # 需要管理员交互式按一下回车键
 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
 # 2.6、安装Docker- 执行以下命令安装Docker-20.10版本,新版本Docker和k8s-1.23不兼容
 apt install docker-ce=5:20.10.14~3-0~ubuntu-jammy docker-ce-cli=5:20.10.14~3-0~ubuntu-jammy containerd.io -y
 # 2.7、配置用户组(可选)
 - 默认情况下,只有root用户和Docker组的用户才能运行Docker命令。我们可以将当前用户添加到Docker组,以避免每次使用时都需要使用sudo。
 - 注意:重新登录才能使更改生效
 sudo usermod -aG docker $USER
 # 2.8、安装工具
 apt-get -y install apt-transport-https ca-certificates curl software-properties-common
 # 2.9、开启Docker
 systemctl start docker
 systemctl enable docker
 # 2.10、配置Docker加速器
 vim /etc/docker/daemon.json
 {
     "registry-mirrors": [
         "https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com",
         "https://registry.docker-cn.com",
         "http://hub-mirror.c.163.com",
         "https://docker.mirrors.ustc.edu.cn",
         "https://kfwkfulq.mirror.aliyuncs.com",
         "https://docker.rainbond.cc",
         "https://5tqw56kt.mirror.aliyuncs.com",
         "https://docker.1panel.live",
         "http://mirrors.ustc.edu.cn",
         "http://mirror.azure.cn",
         "https://hub.rat.dev",
         "https://docker.chenby.cn",
         "https://docker.hpcloud.cloud",
         "https://docker.m.daocloud.io",
         "https://docker.unsee.tech",
         "https://dockerpull.org",
         "https://dockerhub.icu",
         "https://proxy.1panel.live",
         "https://docker.1panel.top",
         "https://docker.1ms.run",
         "https://docker.ketches.cn"
     ],
     "insecure-registries": ["http://192.168.57.200:8099"]
 }
 # 重启Docker
 systemctl daemon-reload
 systemctl restart docker
 

### 三、通过kubeadm部署Kubernetes集群
 # 3.1、配置Kubernetes的APT源- 这里使用aliyun的源
 # 安装软件包
 apt-get install -y apt-transport-https ca-certificates curl
 # 下载Kubernetes GPG密钥
 curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg  https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg
 # 将GPG密钥添加到APT的密钥管理中
 cat /usr/share/keyrings/kubernetes-archive-keyring.gpg |  sudo apt-key add -
 # 指定软件仓库位置
 echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
 # 更新软件仓库
 apt-get update
 # 3.2、查看Kubernetes可用版本
 apt-cache madison kubeadm
 # 3.3、安装kubeadm管理工具- kubectl:命令行管理工具、kubeadm:安装K8S集群工具、kubelet管理容器工具
 # 安装1.23版本的Kubernetes,因为1.23以后Kubernetes就不再支持Docker做底层容器运行时
 apt-get install -y kubelet=1.23.0-00 kubeadm=1.23.0-00 kubectl=1.23.0-00
 # 锁定版本,防止自动升级
 apt-mark hold kubelet kubeadm kubectl docker docker-ce docker-ce-cli
 # 查看版本
 kubelet --version
 kubeadm version
 kubectl version
 # 3.4、设置Kubelet开机启动
 systemctl enable kubelet

kubeadm初始化集群、安装flannel网络插件(节点分开操作)

 # 4.1、master节点生成初始化配置文件
 root@master:~# kubeadm config print init-defaults > init-config.yaml
 # ### 4.2、master节点修改初始化配置文件
 root@master:~# vim init-config.yaml
 +++++++++++++++++++++++++++++++++++++++++++
 apiVersion: kubeadm.k8s.io/v1beta3
 bootstrapTokens:
 - groups:
   - system:bootstrappers:kubeadm:default-node-token
   token: abcdef.0123456789abcdef
   ttl: 24h0m0s
   usages:
   - signing
   - authentication
 kind: InitConfiguration
 localAPIEndpoint:
   advertiseAddress: 192.168.221.21  # master节点IP地址
   bindPort: 6443
 nodeRegistration:
   criSocket: /var/run/dockershim.sock
   imagePullPolicy: IfNotPresent
   name: master   # 如果使用域名保证可以解析,或直接使用IP地址
   taints: null
 ---
 apiServer:
   timeoutForControlPlane: 4m0s
 apiVersion: kubeadm.k8s.io/v1beta3
 certificatesDir: /etc/kubernetes/pki
 clusterName: kubernetes
 controllerManager: {}
 dns: {}
 etcd:
   local:
     dataDir: /var/lib/etcd
 imageRepository: registry.aliyuncs.com/google_containers # 默认地址国内无法访问,修改为国内地址
 kind: ClusterConfiguration
 kubernetesVersion: 1.23.0   # 指定kubernetes部署的版本
 networking:
   dnsDomain: cluster.local
   serviceSubnet: 10.96.0.0/12   # service资源的网段,集群内部的网络
   podSubnet: 10.244.0.0/16  # 新增加Pod资源网段,需要与下面的pod网络插件地址一致
 scheduler: {}
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 # 4.3、master节点拉取所需镜像
 # 在教室局域网有打包好的镜像
 wget http://192.168.57.200/Software/k8s-1.23.tar.xz
 tar -xvf k8s-1.23.tar.xz
 cd k8s-1.23/
 # 批量导入镜像
 for img in `ls *.tar`;do  docker load -i $img;done

补充内容:

或者可以使用公网安装镜像(与教室局域网二选一即可)

# 查看初始化需要的镜像
 root@master:~# kubeadm config images list --config=init-config.yaml
 registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.0
 registry.aliyuncs.com/google_containers/kube-controller-manager:v1.23.0
 registry.aliyuncs.com/google_containers/kube-scheduler:v1.23.0
 registry.aliyuncs.com/google_containers/kube-proxy:v1.23.0
 registry.aliyuncs.com/google_containers/pause:3.6
 registry.aliyuncs.com/google_containers/etcd:3.5.1-0
 registry.aliyuncs.com/google_containers/coredns:v1.8.6
 # 拉取所需镜像
 root@master:~# kubeadm config images pull --config=init-config.yaml
 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-apiserver:v1.23.0
 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-controller-manager:v1.23.0
 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-scheduler:v1.23.0
 [config/images] Pulled registry.aliyuncs.com/google_containers/kube-proxy:v1.23.0
 [config/images] Pulled registry.aliyuncs.com/google_containers/pause:3.6
 [config/images] Pulled registry.aliyuncs.com/google_containers/etcd:3.5.1-0
 [config/images] Pulled registry.aliyuncs.com/google_containers/coredns:v1.8.6
 # 查看拉取的镜像
 root@master:~# docker images
 REPOSITORY                                                        TAG       IMAGE ID       CREATED       SIZE
 registry.aliyuncs.com/google_containers/kube-apiserver            v1.23.0   e6bf5ddd4098   2 years ago   135MB
 registry.aliyuncs.com/google_containers/kube-proxy                v1.23.0   e03484a90585   2 years ago   112MB
 registry.aliyuncs.com/google_containers/kube-controller-manager   v1.23.0   37c6aeb3663b   2 years ago   125MB
 registry.aliyuncs.com/google_containers/kube-scheduler            v1.23.0   56c5af1d00b5   2 years ago   53.5MB
 registry.aliyuncs.com/google_containers/etcd                      3.5.1-0   25f8c7f3da61   2 years ago   293MB
 registry.aliyuncs.com/google_containers/coredns                   v1.8.6    a4ca41631cc7   2 years ago   46.8MB
 hello-world                                                       latest    feb5d9fea6a5   2 years ago   13.3kB
 registry.aliyuncs.com/google_containers/pause                     3.6       6270bb605e12   2 years ago   683kB


 # 4.4、master初始化集群
 cd
 root@master:~# kubeadm init --config=init-config.yaml
 最后记下这两段话就行
 #############################################################
 mkdir -p $HOME/.kube
 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 sudo chown $(id -u):$(id -g) $HOME/.kube/config
 #############################################################
 kubeadm join 192.168.221.21:6443 --token abcdef.0123456789abcdef \
     --discovery-token-ca-cert-hash sha256:6e96cc6ec35a69175035a4a056c05df77c24399da83e394ff12b11768db419a3 
 #############################################################
 # 4.5、master节点复制k8s认证文件到用户的home目录
 # 4.6、Node节点加入集群- 直接把`master`节点初始化之后的最后回显的token复制粘贴到node节点回车即可,无须做任何配置
 root@node:~# kubeadm join 192.168.221.21:6443 --token abcdef.0123456789abcdef \
     --discovery-token-ca-cert-hash sha256:6e96cc6ec35a69175035a4a056c05df77c24399da83e394ff12b11768db419a3 
 [preflight] Running pre-flight checks
 ······
 最后显示
 Run 'kubectl get nodes' on the control-plane to see this node join the cluster.
 # 4.7、在master主机查看节点状态- 在初始化k8s-master时并没有网络相关的配置,所以无法跟node节点通信,因此状态都是“Not Ready”。但是通过kubeadm join加入的node节点已经在master上可以看到
 root@master:~# kubectl get nodes
 NAME     STATUS     ROLES                  AGE    VERSION
 master   NotReady   control-plane,master   101s   v1.23.0
 node1    NotReady   <none>                 27s    v1.23.0
 node2    NotReady   <none>                 21s    v1.23.0
 ## 5.1、安装flannel网络插件master(创建了一个覆盖整个集群的群集网络,使得Pod可以跨节点通信)
 # 下载kube-flannel.yml文件
 root@master:~# wget https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
 # 如果失败就用后面这种方法手动创建文件
 ######放在文章末尾了


 # 安装kube-flannel
 root@master:~# kubectl apply -f kube-flannel.yml
 # 5.2、查看Node节点状态(需要等待一会儿)
 root@master:~# kubectl get node
 NAME     STATUS   ROLES                  AGE   VERSION
 master   Ready    control-plane,master   13m   v1.23.0
 node1    Ready    <none>                 12m   v1.23.0
 node2    Ready    <none>                 12m   v1.23.0
 # 查看所有Pod状态
 root@master:~# kubectl get pod -A
 NAMESPACE      NAME                             READY   STATUS    RESTARTS   AGE
 kube-flannel   kube-flannel-ds-pc7gw            1/1     Running   0          89s
 kube-flannel   kube-flannel-ds-xxcqj            1/1     Running   0          89s
 kube-system    coredns-6d8c4cb4d-fx6vd          1/1     Running   0          44m
 kube-system    coredns-6d8c4cb4d-pgwcc          1/1     Running   0          44m
 kube-system    etcd-master                      1/1     Running   1          44m
 kube-system    kube-apiserver-master            1/1     Running   1          44m
 kube-system    kube-controller-manager-master   1/1     Running   1          44m
 kube-system    kube-proxy-2gghk                 1/1     Running   0          44m
 kube-system    kube-proxy-qf26c                 1/1     Running   0          20m
 kube-system    kube-scheduler-master            1/1     Running   1          44m
 # 查看组件状态
 root@master:~# kubectl get cs
 Warning: v1 ComponentStatus is deprecated in v1.19+
 NAME                 STATUS    MESSAGE                         ERROR
 controller-manager   Healthy   ok                              
 scheduler            Healthy   ok                              
 etcd-0               Healthy   {"health":"true","reason":""}
 # 5.3、开启kubectl命令补全功能
 apt install bash-completion -y
 source /usr/share/bash-completion/bash_completion
 source <(kubectl completion bash)
 echo "source <(kubectl completion bash)" >> ~/.bashrc
 ​
 ############################################################
 ## 新增节点到K8S集群
 # 1.配置hosts文件
 cat >> /etc/hosts << EOF
 192.168.221.23 node2
 EOF
 # 2.通过 kubeadm 将节点加入集群
 # 主节点上获取token(然后在新节点上运行)
 kubeadm token create --print-join-command
 # 查看节点是否加入成功——显示Ready(主节点操作)
 kubectl get node
 ## 从K8S集群中删除节点
 # 1.先确保节点安全下线(主操作)
 kubectl cordon node2
 kubectl drain node2 --ignore-daemonsets --delete-emptydir-data
 # 2.从集群中移除节点(主操作)
 kubectl delete node node2
 kubectl get node
 # 3.清理被移除的节点(工作节点操作)
 systemctl stop kubelet
 kubeadm reset
 rm -rf /etc/cni/net.d /var/lib/kubelet /var/lib/etcd

补充内容:

# 如果下载失败也可以手动创建kube-flannel.yml文件
 root@master:~# vim kube-flannel.yml
 ---
 kind: Namespace
 apiVersion: v1
 metadata:
   name: kube-flannel
   labels:
     k8s-app: flannel
     pod-security.kubernetes.io/enforce: privileged
 ---
 kind: ClusterRole
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   labels:
     k8s-app: flannel
   name: flannel
 rules:
 - apiGroups:
   - ""
   resources:
   - pods
   verbs:
   - get
 - apiGroups:
   - ""
   resources:
   - nodes
   verbs:
   - get
   - list
   - watch
 - apiGroups:
   - ""
   resources:
   - nodes/status
   verbs:
   - patch
 ---
 kind: ClusterRoleBinding
 apiVersion: rbac.authorization.k8s.io/v1
 metadata:
   labels:
     k8s-app: flannel
   name: flannel
 roleRef:
   apiGroup: rbac.authorization.k8s.io
   kind: ClusterRole
   name: flannel
 subjects:
 - kind: ServiceAccount
   name: flannel
   namespace: kube-flannel
 ---
 apiVersion: v1
 kind: ServiceAccount
 metadata:
   labels:
     k8s-app: flannel
   name: flannel
   namespace: kube-flannel
 ---
 kind: ConfigMap
 apiVersion: v1
 metadata:
   name: kube-flannel-cfg
   namespace: kube-flannel
   labels:
     tier: node
     k8s-app: flannel
     app: 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",
       "EnableNFTables": false,
       "Backend": {
         "Type": "vxlan"
       }
     }
 ---
 apiVersion: apps/v1
 kind: DaemonSet
 metadata:
   name: kube-flannel-ds
   namespace: kube-flannel
   labels:
     tier: node
     app: flannel
     k8s-app: flannel
 spec:
   selector:
     matchLabels:
       app: flannel
   template:
     metadata:
       labels:
         tier: node
         app: flannel
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: kubernetes.io/os
                 operator: In
                 values:
                 - linux
       hostNetwork: true
       priorityClassName: system-node-critical
       tolerations:
       - operator: Exists
         effect: NoSchedule
       serviceAccountName: flannel
       initContainers:
       - name: install-cni-plugin
         #image: docker.io/flannel/flannel-cni-plugin:v1.6.0-flannel1
         image: 192.168.57.200:8099/k8s-1.23/flannel-cni-plugin:v1.6.0-flannel1  # 使用局域网镜像
         command:
         - cp
         args:
         - -f
         - /flannel
         - /opt/cni/bin/flannel
         volumeMounts:
         - name: cni-plugin
           mountPath: /opt/cni/bin
       - name: install-cni
         #image: docker.io/flannel/flannel:v0.26.1
         image: 192.168.57.200:8099/k8s-1.23/flannel:v0.26.1  # 使用局域网镜像
         command:
         - cp
         args:
         - -f
         - /etc/kube-flannel/cni-conf.json
         - /etc/cni/net.d/10-flannel.conflist
         volumeMounts:
         - name: cni
           mountPath: /etc/cni/net.d
         - name: flannel-cfg
           mountPath: /etc/kube-flannel/
       containers:
       - name: kube-flannel
         #image: docker.io/flannel/flannel:v0.26.1
         image: 192.168.57.200:8099/k8s-1.23/flannel:v0.26.1  # 使用局域网镜像
         command:
         - /opt/bin/flanneld
         args:
         - --ip-masq
         - --kube-subnet-mgr
         resources:
           requests:
             cpu: "100m"
             memory: "50Mi"
         securityContext:
           privileged: false
           capabilities:
             add: ["NET_ADMIN", "NET_RAW"]
         env:
         - name: POD_NAME
           valueFrom:
             fieldRef:
               fieldPath: metadata.name
         - name: POD_NAMESPACE
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
         - name: EVENT_QUEUE_DEPTH
           value: "5000"
         volumeMounts:
         - name: run
           mountPath: /run/flannel
         - name: flannel-cfg
           mountPath: /etc/kube-flannel/
         - name: xtables-lock
           mountPath: /run/xtables.lock
       volumes:
       - name: run
         hostPath:
           path: /run/flannel
       - name: cni-plugin
         hostPath:
           path: /opt/cni/bin
       - name: cni
         hostPath:
           path: /etc/cni/net.d
       - name: flannel-cfg
         configMap:
           name: kube-flannel-cfg
       - name: xtables-lock
         hostPath:
           path: /run/xtables.lock
           type: FileOrCreate

最后一步,安装KubePi

KubePi 是一个现代化的 K8s 面板。KubePi 允许管理员导入多个 Kubernetes 集群,并且通过权限控制,将不同 cluster、namespace 的权限分配给指定用户;允许开发人员管理 Kubernetes 集群中运行的应用程序并对其进行故障排查,供开发人员更好地处理 Kubernetes 集群中的复杂性。

# 6.1快速开始

 docker run --privileged -d --restart=unless-stopped -p 80:80 1panel/kubepi
 # 如果这里出错就重启一次再运行
 systemctl restart docker
 浏览器访问192.168.221.21即可显示kubepi
 # 用户名: admin
 # 密码: kubepi
 ​
 # 查看master上的kubeconfig文件
 root@master:~# cat ~/.kube/config
 # 忽略tls安全设置
 --kubelet-insecure-tls

点击蓝色警告安装metric server

修改配置

【k8s 1.23.0 离线安装】 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令快速完成一个kubernetes集群的部署。 阅读详情

相关推荐

kubernetes七层负载Ingress搭建(K8S1.23.5)

NotePort:该方式的缺点是会占用很多集群机器的端口,当集群服务变多时,这个缺点就愈发的明显(srevice变多,需要的端口就需要多LoadBalancer:该方式的缺点是每个service都需要一个外部负载均衡设备的支持才可以基于这种现状,k8s提供了ingress资源对象。ingress只需要一个NodePort一个负载均衡设备就可以满足暴露多个service的需求实际上Ingress相当于一个7层的负载均衡器。

阿澈不吃蒜的博客 1820

K8s安装部署--超级详细(无坑,v1.23)

通过超级详细的步骤教会你安装k8s,每个步骤都详细测试过,保证可用

Lqj的博客 2万+

使用 KuboardSpray 安装kubernetes_v1.23.1

pps:下面文档来自官网。

好好学电脑 1851

K8s/Kubernetes(v1.23.17)三节点集群部署全过程的总结与问题回顾

k8s部署、Kubernetes(v1.23.17)三节点集群部署全过程的总结与问题回顾

iceking7的博客 1001

K8s安装部署(v1.23.6)

一、安装准备: 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器(我准备了3台),操作系统 CentOS7.x-86_x64,关闭交换分区 硬件配置:2G内存、1CPU2核、磁盘30G或以上(我电脑配置低,配置高的多来点最好) IP分配: master 10.10.5.221 node1 10.10.5.222 node2 10.10.5.223 1、修改三台机器主机名(方便区分) hostnamectl set-hostname master hos

weixin_66536807的博客 1529

[VisionPro] CogPMAlignTool 工具详解

[VisionPro] [CogPMAlignTool] [模板匹配]

weixin_43163656的博客 1万+

kubernetes集群快速部署1.23

kubernetes集群快速部署1.23 文章目录kubernetes集群快速部署1.23一、环境准备(所有节点)二、配置免密登录三、配置ipv4四、安装docker(所有节点)五、部署kubernetes1.23(所有节点)六、master节点初始化七、node节点加入集群八、部署flannel网络插件九、集群测试十、验证集群十一、安装监控组件 metrics-server十二、安装dashboard十三、Kubeadm证书过期配置 centos7.6系统 生产环境建议: 1、使用大版本下超过小版本后5

每天进步一点点!!! 5348

量化交易——量化选股(多因子选股)

就是用过去的股票的收益率对多因子进行回归,得到一个回归方程,然后再把最新的因子值代入回归方程得到一个对未来股票收益的预判,然后再以此为依据进行选股。的方法是建立在市场无效或弱有效的前提之下,随着使用多因子选股模型的投资者数量的不断增加,有的因子会逐渐失效,而。就是根据各个因子的大小对股票进行打分,然后按照一定的权重加权得到一个总分,根据总分再对股票进行筛选。另一方面,一些因子可能在过去的市场环境下比较有效,而随着市场风格的改变,这些。波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的。

jiucaixiuyang的博客 1784

kubeadm 部署k8s 1.23集群

kubeadm 部署k8s 1.23集群

Mark 941

LEF 5.8 Language Reference学习笔记

您可以在一个 LEF 文件中定义所有元件库信息,但这样会产生一个复杂且难以管理的大文件。相反,您可以将信息分为两个文件,一个是 "technology "LEF 文件,另一个是 "cell library "LEF 文件。

yajuan的专栏 4098

Transformer代码(Pytorch实现和详解)!!!

这个是第一版,有些代码如果不对,欢迎在评论指正,后续会慢慢改,我也是刚接触transformer,若有些地方理解不对还请指正。

xml的博客 5611

Kubernetes集群1.23版本搭建

在 Kubernetes 中,Pod 网络通常通过桥接接口实现,因此需要将桥接流量传递给 iptables,然后再由iptables进行DNAT转化将IP端口发布。在其他工作节点上定义KUBECONFIG环境变量,便于kubectl客户端工具认证使用。#k8s1.24版本以后不再使用docker作为底层容器。在所有节点上我部署都是用的root用户,所以在主节点上。在其他工作节点上执行命令加入到集群中。需要按照自己的实际配置进行修改。查看集群中的节点(主节点执行)

zxb2385807597的博客 643

AMSR-2数据下载实战:从JAXA到LPRM的算法选择与效率优化

本文详细介绍了AMSR-2数据的下载实战,重点对比了JAXA与LPRM算法的差异及适用场景,并提供了高效下载方案和网络优化策略。通过实际案例和代码示例,帮助用户快速获取和处理AMSR-2数据,提升研究效率。

rl6adventurer的博客 691

k8s集群搭建步骤(全)

k8s集群搭建一、配置要求二、版本统一三、搭建3.1 更新并安装依赖3.2 安装Docker3.3 修改hosts文件3.4 系统基础前提配置3.5 安装kubeadm、kubelet、kubectl3.6 拉取proxy/pause/scheduler等国内镜像3.7 kube init初始化master1.10 部署calico网络插件1.11 kube join1.12 再次体验Pod 一、配置要求 三台linux服务器,1台master节点,2台worker节点。 每台服务器最少2GB内存、2核c

qq_35080214的博客 5489

RockChip Android14 修改LCD背光最大值

在调试LCD屏时时长会出现硬件不匹配,导致电流过大,屏幕发热严重。在不调整硬件的情况下,我们可以通过修改软件,降低LCD背光最大值来实现适配。我们都知道LCD屏背光是靠pwm来控制,一般来说最大值可以设置为255,针对上述问题,我们可以通过软件来降低该值,比如200,100等等。

qq_34968572的博客 631

思维链:让AI更接近人类思维的技术

本文将探讨一种名为“思维链”的技术,它旨在让AI更接近人类思维。文章首先介绍了问题背景与核心概念,接着讲解了算法原理和数学模型,随后阐述了系统分析与架构设计,最后通过项目实战展示了思维链的实际应用,并提供了最佳实践和小结。思维链是一种旨在模拟人类思维过程的技术,它通过构建一系列相互关联的思维方式,实现对复杂问题的分析和解决。思维链算法是一种基于人类思维过程的人工智能算法,它通过构建一系列思维链,实现对问题的分析和解决。智能问答系统是一种常见的人工智能应用,它能够回答用户提出的各种问题。

AI天才研究院 942

k8s学习笔记1-搭建k8s环境(k8s版本1.24.3,ubuntu版本22.04)

k8s的版本在1.24版本开始,Kubernetes正式移除对Dockershim的支持,Kubernetes1.24之后,如还想继续在k8s中使用docker,需要自行安装cri-dockerd组件或者containerd组件,下面的步骤,经过反复测试很多次,步骤应该很稳。之前我写的一篇关于k8s安装的博客,那个主要是针对k8s版本为1.23.6的,对于1.24及其以上的版本,那个安装博客,不适用。...

weixin_43501172的博客 5893

【华为OD机试真题】29、组成最大数 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >小组中每位都有一张卡片,卡片上是6位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字

KJ.JK 2418

Kubernetes K8S 基于 Docker 安装部署

在 Docker 容器技术被炒得热火朝天之时,大家发现,如果想要将 Docker 应用于具体的业务实现,是存在困难的——编排、管理和调度等各个方面,都不容易。于是,人们迫切需要一套管理系统,对 Docker 及容器进行更高级更灵活的管理。就在这个时候,K8S 出现了。K8S,就是基于容器的集群管理平台,它的全称,是 Kubernetes。 本次主题将会为你分享: K8S 起源 K8S 集群 为什...

GitChat 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

kubernetes v1.23.9(k8s)在centos7上快速安装指导

kubernetes v1.23.1版本在centos7上快速安装指导

夜月鸿影的博客 2835

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Kubernetes 企业项目实战】01、使用 kubeadm 安装 K8s-v1.23 高可用集群

使用 kubeadm 安装 K8s-v1.23 高可用集群教程详解!!!

GG Bond 的博客 2556

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Kubernetes (K8S) 集群架构与搭建方式详情

Kubernetes(K8S)是一个开源的容器编排平台,用于自动化应用程序的部署、扩展和管理。本文将介绍K8S的常见集群架构和搭建方式,并详细说明如何基于Minikube搭建单节点K8S集群以及部署第一个K8S应用。Minikube是一种轻量化的Kubernetes集群,适用于开发者和学习者快速构建启动单节点K8S。

m0_73355421的博客 2281

手动搭建K8S环境

搭建K8S环境

谢公子的博客 6337

Centos7三台机器安装 k8s

1.机器配置 硬件 说明 CPU 2核+ 内存 2G + 硬盘 10G+ 系统 CentOS Linux release 7.9.2009 (Core) 安装k8s,cpu不能少于2核,内存不能少于2G, 否则安装时说提示出错,无法安装。 2.软件安装 (每台都执行一次) 2.1 修改Hosts vi /etc/hosts 192.168.56.101 master01 192.168.56.102 node1 192.168.56.103 node2 修改Hostnam

swingLau007的博客 1210

云原生Kubernetes: Ubuntu 安装 K8S 1.23版本(单Master架构) 及故障恢复

(4)标记指定软件包为保留(held back),阻止软件自动更新。(4)标记指定软件包为保留(held back),阻止软件自动更新。(1)把下载的key添加到本地trusted数据库中。(3)执行下句,验证下载后是否已经开启了服务。(6)在master1上查看加入节点的命令。(7)在master1上查看加入节点的命令。(8)更新apt源和安装基础软件包。重新使用XShell工具进行连接。(4)再次重置kubeadm。(7)在node1执行命令。(5)安装ifupdown。(1)重置kubeadm。

cronaldo91的博客 3106

Kubernetes(k8s) 1.23.6版本基于Docker的集群安装部署

目录1. 部署方式2. 集群规划3. docker安装3.1 卸载旧版本Docker方法3.2 配置yum源3.3 安装docker3.4 配置加速4. 安装k8s集群4.1 服务器要求4.2 基础环境4.3 安装kubelet、kubeadm、kubectl4.4 下载各个机器需要的镜像4.5 初始化主节点(只在master节点执行)4.6 设置.kube/config(只在master执行)4.7 查看集群pod和node等命令(只在master执行)4.8 安装网络插件(只在master执行)4.9

Bulut0907 8028
上一篇: Kubernetes简介
下一篇: Kubernetes基础概念和命令
chen_note
博客等级 码龄1年 251粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值