本例中Master节点和Node节点部署在同一台主机上。

1 部署kubelet

1.1 集群规划

主机名 角色 IP
CFZX55-21.host.com kubelet 10.211.55.21
CFZX55-22.host.com kubelet 10.211.55.22

在21主机上操作。

1.2 生成kubelet的kubeconfig配置文件

  1. #!/bin/bash
  2. KUBE_CONFIG="/opt/kubernetes/cfg/kubelet-bootstrap.kubeconfig"
  3. KUBE_APISERVER="https://10.211.55.10:7443"
  4. kubectl config set-cluster kubernetes \
  5. --certificate-authority=/opt/kubernetes/bin/certs/ca.pem \
  6. --embed-certs=true \
  7. --server=${KUBE_APISERVER} \
  8. --kubeconfig=${KUBE_CONFIG}
  9. kubectl config set-credentials kubelet-bootstrap \
  10. --token=$(awk -F "," '{print $1}' /opt/kubernetes/bin/certs/kube-apiserver.token.csv) \
  11. --kubeconfig=${KUBE_CONFIG}
  12. kubectl config set-context default \
  13. --cluster=kubernetes \
  14. --user=kubelet-bootstrap \
  15. --kubeconfig=${KUBE_CONFIG}
  16. kubectl config use-context default --kubeconfig=${KUBE_CONFIG}
  17. kubectl create clusterrolebinding kubelet-bootstrap \
  18. --clusterrole=system:node-bootstrapper \
  19. --user=kubelet-bootstrap

说明:

关于kubectl create clusterrolebinding命令中的"kubelet-bootstrap"

第一个"kubelet-bootstrap":会在K8S集群中创建一个名为"kubelet-bootstrap"的"ClusterRoleBinding"资源,用kubectl get clusterrolebinding查看

第二个"--user=kubelet-bootstrap":表示将对应"ClusterRoleBinding"资源中的"subjects.kind"="User"、"subjects.name"="kubelet-bootstrap"

kubectl get clusterrolebinding kubelet-bootstrap -o yaml查看

在经过本命令的配置后,KUBE-APISERVER的"kube-apiserver.token.csv"配置文件中的用户名"kubelet-bootstrap"便真正的在K8S集群中有了意义

执行脚本

  1. [root@cfzx55-21 k8s-shell]# vim kubelet-config.sh
  2. [root@cfzx55-21 k8s-shell]# chmod +x kubelet-config.sh
  3. [root@cfzx55-21 k8s-shell]# ./kubelet-config.sh
  4. Cluster "kubernetes" set.
  5. User "kubelet-bootstrap" set.
  6. Context "default" created.
  7. Switched to context "default".
  8. [root@cfzx55-21 k8s-shell]#

把生成的kubeconfig文件拷贝到22主机上

  1. [root@cfzx55-21 k8s-shell]# scp /opt/kubernetes/cfg/kubelet-bootstrap.kubeconfig root@cfzx55-22:/opt/kubernetes/cfg/
  2. root@cfzx55-22's password:
  3. kubelet-bootstrap.kubeconfig 100% 2102 1.2MB/s 00:00
  4. [root@cfzx55-21 k8s-shell]#

1.3 创建kubelet启动脚本

/opt/kubernetes/bin/kubelet-startup.sh

  1. #!/bin/sh
  2. ./kubelet \
  3. --v=2 \
  4. --log-dir=/data/logs/kubernetes/kubelet \
  5. --hostname-override=cfzx55-21.host.com \
  6. --network-plugin=cni \
  7. --cluster-domain=cluster.local \
  8. --kubeconfig=/opt/kubernetes/cfg/kubelet.kubeconfig \
  9. --bootstrap-kubeconfig=/opt/kubernetes/cfg/kubelet-bootstrap.kubeconfig \
  10. --config=/opt/kubernetes/cfg/kubelet-config.yml \
  11. --cert-dir=/opt/kubernetes/bin/certs \
  12. --pod-infra-container-image=ibmcom/pause:3.1

说明: 本例中为了方便测试,先删除--network-plugin

配置参数文件

/opt/kubernetes/cfg/kubelet-config.yml

  1. kind: KubeletConfiguration
  2. apiVersion: kubelet.config.k8s.io/v1beta1
  3. address: 0.0.0.0
  4. port: 10250
  5. readOnlyPort: 10255
  6. cgroupDriver: systemd
  7. clusterDNS:
  8. - 192.168.0.2
  9. clusterDomain: cluster.local
  10. failSwapOn: false
  11. authentication:
  12. anonymous:
  13. enabled: false
  14. webhook:
  15. cacheTTL: 2m0s
  16. enabled: true
  17. x509:
  18. clientCAFile: /opt/kubernetes/bin/certs/ca.pem
  19. authorization:
  20. mode: Webhook
  21. webhook:
  22. cacheAuthorizedTTL: 5m0s
  23. cacheUnauthorizedTTL: 30s
  24. evictionHard:
  25. imagefs.available: 15%
  26. memory.available: 100Mi
  27. nodefs.available: 10%
  28. nodefs.inodesFree: 5%
  29. maxOpenFiles: 1000000
  30. maxPods: 110

生成上面两个文件

  1. [root@cfzx55-21 bin]# vim kubelet-startup.sh
  2. [root@cfzx55-21 bin]# chmod +x kubelet-startup.sh
  3. [root@cfzx55-21 cfg]# mkdir -pv /data/logs/kubernetes/kubelet
  4. [root@cfzx55-21 bin]# cd ../cfg/
  5. [root@cfzx55-21 cfg]# vim kubelet-config.yml
  6. [root@cfzx55-21 cfg]#

创建supervisor启动文件

/etc/supervisord.d/kube-kubelet.ini

  1. [program:kube-kubelet-55-21]
  2. command=/opt/kubernetes/bin/kubelet-startup.sh
  3. numprocs=1
  4. directory=/opt/kubernetes/bin
  5. autostart=true
  6. autorestart=true
  7. startsecs=30
  8. startretries=3
  9. exitcodes=0,2
  10. stopsignal=QUIT
  11. stopwaitsecs=10
  12. user=root
  13. redirect_stderr=true
  14. stdout_logfile=/data/logs/kubernetes/kubelet/kubelet.stdout.log
  15. stdout_logfile_maxbytes=64MB
  16. stdout_logfile_backups=4
  17. stdout_capture_maxbytes=1MB
  18. stdout_events_enabled=false

启动服务

  1. [root@cfzx55-21 cfg]# supervisorctl update
  2. kube-kubelet-55-21: added process group
  3. [root@cfzx55-21 cfg]# supervisorctl status
  4. etcd-server-55-21 RUNNING pid 1033, uptime 6:49:47
  5. kube-apiserver-55-21 RUNNING pid 1034, uptime 6:49:47
  6. kube-controller-manager-55-21 RUNNING pid 3558, uptime 1:16:30
  7. kube-kubelet-55-21 RUNNING pid 3762, uptime 0:00:31
  8. kube-scheduler-55-21 RUNNING pid 3486, uptime 1:33:53
  9. [root@cfzx55-21 cfg]#

把以上几个文件拷贝到22主机

  1. [root@cfzx55-21 ~]# scp /opt/kubernetes/bin/kubelet-startup.sh root@cfzx55-22:/opt/kubernetes/bin/
  2. root@cfzx55-22's password:
  3. kubelet-startup.sh 100% 451 224.6KB/s 00:00
  4. [root@cfzx55-21 ~]# scp /opt/kubernetes/cfg/kubelet-config.yml root@cfzx55-22:/opt/kubernetes/cfg/
  5. root@cfzx55-22's password:
  6. kubelet-config.yml 100% 620 379.6KB/s 00:00
  7. [root@cfzx55-21 ~]# scp /etc/supervisord.d/kube-kubelet.ini root@cfzx55-22:/etc/supervisord.d/
  8. root@cfzx55-22's password:
  9. kube-kubelet.ini 100% 428 325.6KB/s 00:00

在22主机上操作

  1. # 创建目录
  2. [root@cfzx55-22 ~]# mkdir -pv /data/logs/kubernetes/kubelet
  3. # 修改
  4. [root@cfzx55-22 ~]# vim /opt/kubernetes/bin/kubelet-startup.sh
  5. [root@cfzx55-22 ~]# vim /etc/supervisord.d/kube-kubelet.ini

启动服务

  1. [root@cfzx55-22 ~]# supervisorctl update
  2. [root@cfzx55-22 ~]# supervisorctl status
  3. etcd-server-55-22 RUNNING pid 1013, uptime 6:57:00
  4. kube-apiserver-55-22 RUNNING pid 1012, uptime 6:57:00
  5. kube-controller-manager-55-22 RUNNING pid 3256, uptime 1:23:46
  6. kube-kubelet-55-22 RUNNING pid 3357, uptime 0:00:44
  7. kube-scheduler-55-22 RUNNING pid 3187, uptime 1:34:20
  8. [root@cfzx55-22 ~]#

1.4 批准kubelete证书申请并加入集群

查看kubelet证书请求

  1. [root@cfzx55-22 ~]# kubectl get csr
  2. NAME AGE SIGNERNAME REQUESTOR REQUESTEDDURATION CONDITION
  3. node-csr-wDoAeuoFDj7XW1J4CeJqF9nZ7-uaWxi-kcQI55as66M 8m23s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap <none> Pending
  4. node-csr-ytydzudqHyxrhrWO0MLxIs51gDxgGsxuwIts6C9r0dU 62s kubernetes.io/kube-apiserver-client-kubelet kubelet-bootstrap <none> Pending
  5. [root@cfzx55-22 ~]#

批准证书

  1. [root@cfzx55-22 ~]# kubectl certificate approve node-csr-wDoAeuoFDj7XW1J4CeJqF9nZ7-uaWxi-kcQI55as66M
  2. certificatesigningrequest.certificates.k8s.io/node-csr-wDoAeuoFDj7XW1J4CeJqF9nZ7-uaWxi-kcQI55as66M approved
  3. [root@cfzx55-22 ~]# kubectl certificate approve node-csr-ytydzudqHyxrhrWO0MLxIs51gDxgGsxuwIts6C9r0dU
  4. certificatesigningrequest.certificates.k8s.io/node-csr-ytydzudqHyxrhrWO0MLxIs51gDxgGsxuwIts6C9r0dU approved

查看节点

  1. [root@cfzx55-22 ~]# kubectl get no
  2. NAME STATUS ROLES AGE VERSION
  3. cfzx55-21.host.com NotReady <none> 2m19s v1.23.4
  4. cfzx55-22.host.com NotReady <none> 2m9s v1.23.4
  5. [root@cfzx55-22 ~]#

由于没有安装网络插件,节点状态为NotReady

2 部署kube-proy

2.1 集群规划

主机名 角色 IP
CFZX55-21.host.com kube-proxy 10.211.55.21
CFZX55-22.host.com kube-proxy 10.211.55.22

2.2 生成kube-proxy的kubeconfig文件

在运维主机200上操作

/opt/certs/kube-proxy-csr.json

  1. {
  2. "CN": "system:kube-proxy",
  3. "hosts": [],
  4. "key": {
  5. "algo": "rsa",
  6. "size": 2048
  7. },
  8. "names": [
  9. {
  10. "C": "CN",
  11. "ST": "beijing",
  12. "L": "beijing",
  13. "O": "system:masters",
  14. "OU": "system"
  15. }
  16. ]
  17. }

生成证书

  1. [root@cfzx55-200 certs]# pwd
  2. /opt/certs
  3. [root@cfzx55-200 certs]# vim kube-proxy-csr.json
  4. [root@cfzx55-200 certs]# cfssl gencert \
  5. > -ca=ca.pem \
  6. > -ca-key=ca-key.pem \
  7. > -config=ca-config.json \
  8. > -profile=kubernetes \
  9. > kube-proxy-csr.json | cfssl-json -bare kube-proxy
  10. 2022/03/13 14:58:59 [INFO] generate received request
  11. 2022/03/13 14:58:59 [INFO] received CSR
  12. 2022/03/13 14:58:59 [INFO] generating key: rsa-2048
  13. 2022/03/13 14:58:59 [INFO] encoded CSR
  14. 2022/03/13 14:58:59 [INFO] signed certificate with serial number 705933654696297683901130256446644781117492665095
  15. 2022/03/13 14:58:59 [WARNING] This certificate lacks a "hosts" field. This makes it unsuitable for
  16. websites. For more information see the Baseline Requirements for the Issuance and Management
  17. of Publicly-Trusted Certificates, v.1.1.6, from the CA/Browser Forum (https://cabforum.org);
  18. specifically, section 10.2.3 ("Information Requirements").
  19. [root@cfzx55-200 certs]# ll kube-proxy*.pem
  20. -rw------- 1 root root 1679 Mar 13 14:58 kube-proxy-key.pem
  21. -rw-r--r-- 1 root root 1415 Mar 13 14:58 kube-proxy.pem
  22. [root@cfzx55-200 certs]#

把生成的证书拷贝到21和22节点

  1. [root@cfzx55-200 certs]# scp kube-proxy*.pem root@cfzx55-21:/opt/kubernetes/bin/certs/
  2. root@cfzx55-21's password:
  3. kube-proxy-key.pem 100% 1679 591.9KB/s 00:00
  4. kube-proxy.pem 100% 1415 895.5KB/s 00:00
  5. [root@cfzx55-200 certs]# scp kube-proxy*.pem root@cfzx55-22:/opt/kubernetes/bin/certs/
  6. root@cfzx55-22's password:
  7. kube-proxy-key.pem 100% 1679 587.6KB/s 00:00
  8. kube-proxy.pem 100% 1415 737.5KB/s 00:00
  9. [root@cfzx55-200 certs]#

创建脚本

  1. #!/bin/bash
  2. KUBE_CONFIG="/opt/kubernetes/cfg/kube-proxy.kubeconfig"
  3. KUBE_APISERVER="https://10.211.55.10:7443"
  4. kubectl config set-cluster kubernetes \
  5. --certificate-authority=/opt/kubernetes/bin/certs/ca.pem \
  6. --embed-certs=true \
  7. --server=${KUBE_APISERVER} \
  8. --kubeconfig=${KUBE_CONFIG}
  9. kubectl config set-credentials kube-proxy \
  10. --client-certificate=/opt/kubernetes/bin/certs/kube-proxy.pem \
  11. --client-key=/opt/kubernetes/bin/certs/kube-proxy-key.pem \
  12. --embed-certs=true \
  13. --kubeconfig=${KUBE_CONFIG}
  14. kubectl config set-context default \
  15. --cluster=kubernetes \
  16. --user=kube-proxy \
  17. --kubeconfig=${KUBE_CONFIG}
  18. kubectl config use-context default --kubeconfig=${KUBE_CONFIG}

执行脚本

  1. [root@cfzx55-21 k8s-shell]# vim kube-proxy-config.sh
  2. [root@cfzx55-21 k8s-shell]# chmod +x kube-proxy-config.sh
  3. [root@cfzx55-21 k8s-shell]# ./kube-proxy-config.sh
  4. Cluster "kubernetes" set.
  5. User "kube-proxy" set.
  6. Context "default" created.
  7. Switched to context "default".
  8. [root@cfzx55-21 k8s-shell]#

把生成kubeconfig文件拷贝到22主机。

  1. [root@cfzx55-21 cfg]# scp kube-proxy.kubeconfig root@cfzx55-22:/opt/kubernetes/cfg/
  2. root@cfzx55-22's password:
  3. kube-proxy.kubeconfig 100% 6224 2.9MB/s 00:00
  4. [root@cfzx55-21 cfg]#

2.3 加载ipvs模块

编写脚本

  1. #!/bin/bash
  2. ipvs_mods_dir="/usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs"
  3. for i in $(ls $ipvs_mods_dir | grep -o "^[^.]*")
  4. do
  5. /sbin/modinfo -F filename $i &>/dev/null
  6. if [ $? -eq 0 ];then
  7. /sbin/modprobe $i
  8. fi
  9. done

在21上操作

  1. [root@cfzx55-21 k8s-shell]# vim ipvs.sh
  2. [root@cfzx55-21 k8s-shell]# chmod +x ipvs.sh
  3. [root@cfzx55-21 k8s-shell]# ./ipvs.sh
  4. [root@cfzx55-21 k8s-shell]# lsmod | grep ip_vs
  5. ip_vs_wlc 12519 0
  6. ip_vs_sed 12519 0
  7. ip_vs_pe_sip 12740 0
  8. nf_conntrack_sip 33780 1 ip_vs_pe_sip
  9. ip_vs_nq 12516 0
  10. ip_vs_lc 12516 0
  11. ip_vs_lblcr 12922 0
  12. ip_vs_lblc 12819 0
  13. ip_vs_ftp 13079 0
  14. ip_vs_dh 12688 0
  15. ip_vs_sh 12688 0
  16. ip_vs_wrr 12697 0
  17. ip_vs_rr 12600 0
  18. ip_vs 145458 24 ip_vs_dh,ip_vs_lc,ip_vs_nq,ip_vs_rr,ip_vs_sh,ip_vs_ftp,ip_vs_sed,ip_vs_wlc,ip_vs_wrr,ip_vs_pe_sip,ip_vs_lblcr,ip_vs_lblc
  19. nf_nat 26583 4 ip_vs_ftp,nf_nat_ipv4,xt_nat,nf_nat_masquerade_ipv4
  20. nf_conntrack 139264 8 ip_vs,nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_sip,nf_conntrack_ipv4
  21. libcrc32c 12644 4 xfs,ip_vs,nf_nat,nf_conntrack
  22. [root@cfzx55-21 k8s-shell]#

在22主机上同样操作。本处略。

2.4 创建kube-proxy启动脚本

/opt/kubernetes/bin/kube-proxy-startup.sh

  1. #!/bin/sh
  2. ./kube-proxy \
  3. --v=2 \
  4. --log-dir=/data/logs/kubernetes/kube-proxy \
  5. --config=/opt/kubernetes/cfg/kube-proxy-config.yml

生成文件、调整权限,创建目录

  1. [root@cfzx55-22 bin]# vim kube-proxy-startup.sh
  2. [root@cfzx55-22 bin]# chmod +x kube-proxy-startup.sh
  3. [root@cfzx55-22 bin]# mkdir -p /data/logs/kubernetes/kube-proxy

配置参数文件

/opt/kubernetes/cfg/kube-proxy-config.yml

  1. kind: KubeProxyConfiguration
  2. apiVersion: kubeproxy.config.k8s.io/v1alpha1
  3. bindAddress: 0.0.0.0
  4. metricsBindAddress: 0.0.0.0:10249
  5. clientConnection:
  6. kubeconfig: /opt/kubernetes/cfg/kube-proxy.kubeconfig
  7. hostnameOverride: cfzx55-22.host.com
  8. clusterCIDR: 192.168.0.0/16

把脚本和参数文件拷贝到21主机。

  1. [root@cfzx55-22 ~]# scp /opt/kubernetes/bin/kube-proxy-startup.sh root@cfzx55-21:/opt/kubernetes/bin/
  2. root@cfzx55-21's password:
  3. kube-proxy-startup.sh 100% 135 79.4KB/s 00:00
  4. [root@cfzx55-22 ~]# scp /opt/kubernetes/cfg/kube-proxy-config.yml root@cfzx55-21:/opt/kubernetes/cfg/
  5. root@cfzx55-21's password:
  6. kube-proxy-config.yml 100% 268 162.6KB/s 00:00
  7. [root@cfzx55-22 ~]#

在21主机上修改

  1. # 修改主机名
  2. [root@cfzx55-21 ~]# vim /opt/kubernetes/cfg/kube-proxy-config.yml
  3. # 创建目录
  4. [root@cfzx55-21 ~]# mkdir -p /data/logs/kubernetes/kube-proxy

创建supervisor启动文件

/etc/supervisord.d/kube-proxy.ini

  1. [program:kube-proxy-55-21]
  2. command=/opt/kubernetes/bin/kube-proxy-startup.sh
  3. numprocs=1
  4. directory=/opt/kubernetes/bin
  5. autostart=true
  6. autorestart=true
  7. startsecs=30
  8. startretries=3
  9. exitcodes=0,2
  10. stopsignal=QUIT
  11. stopwaitsecs=10
  12. user=root
  13. redirect_stderr=true
  14. stdout_logfile=/data/logs/kubernetes/kube-proxy/kube-proxy.stdout.log
  15. stdout_logfile_maxbytes=64MB
  16. stdout_logfile_backups=4
  17. stdout_capture_maxbytes=1MB
  18. stdout_events_enabled=false

启动服务

  1. [root@cfzx55-21 ~]# supervisorctl status
  2. etcd-server-55-21 RUNNING pid 1033, uptime 7:42:48
  3. kube-apiserver-55-21 RUNNING pid 1034, uptime 7:42:48
  4. kube-controller-manager-55-21 RUNNING pid 3558, uptime 2:09:31
  5. kube-kubelet-55-21 RUNNING pid 4143, uptime 0:37:23
  6. kube-proxy-55-21 RUNNING pid 8899, uptime 0:00:31
  7. kube-scheduler-55-21 RUNNING pid 3486, uptime 2:26:54
  8. [root@cfzx55-21 ~]#

把ini文件拷贝到22主机

  1. [root@cfzx55-21 ~]# scp /etc/supervisord.d/kube-proxy.ini root@cfzx55-22:/etc/supervisord.d/
  2. root@cfzx55-22's password:
  3. kube-proxy.ini 100% 435 245.6KB/s 00:00
  4. [root@cfzx55-21 ~]#

在22主机上启动服务

  1. # 修改程序名称
  2. [root@cfzx55-22 ~]# vim /etc/supervisord.d/kube-proxy.ini
  3. # 启动服务
  4. [root@cfzx55-22 ~]# supervisorctl update
  5. kube-proxy-55-22: added process group
  6. [root@cfzx55-22 ~]# supervisorctl status
  7. etcd-server-55-22 RUNNING pid 1013, uptime 7:44:52
  8. kube-apiserver-55-22 RUNNING pid 1012, uptime 7:44:52
  9. kube-controller-manager-55-22 RUNNING pid 3256, uptime 2:11:38
  10. kube-kubelet-55-22 RUNNING pid 3740, uptime 0:39:37
  11. kube-proxy-55-22 RUNNING pid 8714, uptime 0:00:32
  12. kube-scheduler-55-22 RUNNING pid 3187, uptime 2:22:12
  13. [root@cfzx55-22 ~]#

至此,kubernetes集群部署完成。

二进制部署1.23.4版本k8s集群-6-部署Node节点服务的更多相关文章

  1. 二进制部署1.23.4版本k8s集群-5-部署Master节点服务

    1.安装Docker 在21.22.200三台机器上安装Docker.安装命令: 在21.22.200三台主机上部署Docker. ~]# curl -fsSL https://get.docker. ...

  2. 二进制部署1.23.4版本k8s集群-1-系统安装及环境准备

    1. 致谢 这篇文章参考了老男孩王导的视频,在此表示感谢和致敬! 2. 安装CentOS操作系统 系统镜像:CentOS-7-x86_64-DVD-2009.iso 安装过程略. 3. 环境准备 3. ...

  3. 二进制部署1.23.4版本k8s集群-2-安装DNS服务

    2.安装DNS服务 为什么要安装bind9? K8S中,使用Ingress进行7层流量调度,需要使用域名,进行7层调度. 以前使用绑定host的方法,来进行域名和IP地址的解析. 在K8S里,没有好的 ...

  4. 1.还不会部署高可用的kubernetes集群?看我手把手教你使用二进制部署v1.23.6的K8S集群实践(上)

    公众号关注「WeiyiGeek」 设为「特别关注」,每天带你玩转网络安全运维.应用开发.物联网IOT学习! 本章目录: 0x00 前言简述 0x01 环境准备 主机规划 软件版本 网络规划 0x02 ...

  5. k8s集群中部署prometheus server

    1.概述 本文档主要介绍如何在k8s集群中部署prometheus server用来作为监控的数据采集服务器,这样做可以很方便的对k8s集群中的指标.pod的.节点的指标进行采集和监控. 2.下载镜像 ...

  6. 使用Kubeadm创建k8s集群之部署规划(三十)

    前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...

  7. 使用kubeadm部署一套高可用k8s集群

    使用kubeadm部署一套高可用k8s集群 有疑问的地方可以看官方文档 准备环境 我的机器如下, 系统为ubuntu20.04, kubernetes版本1.21.0 hostname IP 硬件配置 ...

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

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

  9. K8S集群安装部署

    K8S集群安装部署   参考地址:https://www.cnblogs.com/xkops/p/6169034.html 1. 确保系统已经安装epel-release源 # yum -y inst ...

随机推荐

  1. SpringBoot集成druid数据库连接池的简单使用

    简介 Druid是阿里巴巴旗下Java语言中最好的数据库连接池.Druid能够提供强大的监控和扩展功能. 官网: https://github.com/alibaba/druid/wiki/常见问题 ...

  2. 物理CPU,物理核,逻辑CPU,虚拟CPU(vCPU)区别 (转)

    在做虚拟化时候,遇到划分CPU的问题,因此考虑到CPU不知道具体怎么划分,查询一些资料后就写成本文. a. 物理CPU:物理CPU是相对于虚拟CPU而言的概念,指实际存在的处理器,就是我们可以看的见, ...

  3. HOOK API(二) —— HOOK自己程序的 MessageBox

    转载来源:https://www.cnblogs.com/hookjc/ 0x00 前言 以下将给出一个简单的例子,作为HOOK API的入门.这里是HOOK 自己程序的MessageBox,即将自己 ...

  4. 配置samba共享,实现/www目录共享

    一.samba服务器 1.安装samba包 # yum -y install samba 2.创建用户组 # groupadd -r admins # useradd -s /sbin/nologin ...

  5. Deformable Templates For Eye Detection

    1 Abstract This approach was published On "Deformable Templates for Face Recognition" by A ...

  6. 搭建 Nginx 服务

    今日内容 上一篇测试 c出现问题 web 服务 部署 Nginx 内容详细 上一篇测试 NFS共享文件步骤 - 服务端 [root@backup ~]# yum install nfs-utils r ...

  7. 5.Flink实时项目之业务数据准备

    1. 流程介绍 在上一篇文章中,我们已经把客户端的页面日志,启动日志,曝光日志分别发送到kafka对应的主题中.在本文中,我们将把业务数据也发送到对应的kafka主题中. 通过maxwell采集业务数 ...

  8. LibOpenCM3(五) 基础功能: 系统时钟, GPIO, 定时器

    目录 LibOpenCM3(一) Linux下命令行开发环境配置 LibOpenCM3(二) 项目模板 Makefile分析 LibOpenCM3(三) .ld文件(连接器脚本)和startup代码说 ...

  9. mysql linux 导出数据

    1.mysql -hxx -uxx -pxx -e 'select "" name from a' db数据库 > file 2.导出的文件notepad++打开 3.新建e ...

  10. Map<String, String> map按key值排序

    private static String buildMd5Params(Map<String, String> map) { StringBuilder result = new Str ...