您的位置:首页 > 游戏 > 手游 > 电商设计接单_小程序源码带后台_58同城推广_百度搜索引擎网站

电商设计接单_小程序源码带后台_58同城推广_百度搜索引擎网站

2024/12/23 11:23:52 来源:https://blog.csdn.net/m0_73907608/article/details/142183356  浏览:    关键词:电商设计接单_小程序源码带后台_58同城推广_百度搜索引擎网站
电商设计接单_小程序源码带后台_58同城推广_百度搜索引擎网站

一、Metrics 部署

在新版的 Kubernetes 中系统资源的采集均使⽤ Metrics-server,可 以通过 Metrics 采集节点和 Pod 的内存、磁盘、CPU和⽹络的使⽤ 率。

(1)复制证书到所有 node 节点

将 master 节点的 front-proxy-ca.crt 复制到所有 Node 节点,每有 ⼀个节点执⾏⼀次,仅需修改命令内的 node 节点主机名即可。

[root@k8s-master calico]# scp 
/etc/kubernetes/pki/front-proxy-ca.crt k8snode01:/etc/kubernetes/pki/front-proxy-ca.crt
# 向node01节点发送代理证书
front-proxy-ca.crt                               100% 1123   937.0KB/s   00:00    
[root@k8s-master calico]# scp 
/etc/kubernetes/pki/front-proxy-ca.crt k8snode02:/etc/kubernetes/pki/front-proxy-ca.crt
# 向node02节点发送代理证书
front-proxy-ca.crt                               100% 1123   957.4KB/s   00:00    
# 若有其他node节点,按照格式执⾏下⾯命令,这⾥不⽤执⾏,因
为node只有两台主机
[root@k8s-master calico]# scp 
/etc/kubernetes/pki/front-proxy-ca.crt k8snode03:/etc/kubernetes/pki/front-proxy-ca.crt

(2)安装 metrics server

[root@k8s-master calico]# cd /root/k8s-hainstall/kubeadm-metrics-server# 添加metric server的pod资源[root@k8s-master] kubeadm-metrics-server]# kubectl create -f comp.yaml 

(3)查看 metrics server 状态

# 在kube-system命名空间下查看metrics server的pod运⾏状态
[root@master kubeadm-metrics-server]# kubectl get po -n kube-system -l k8s-app=metrics-server NAME                             READY   STATUS   
RESTARTS   AGE
metrics-server-8df99c47f-mkbfd   1/1     Running   0         34s# 查看node节点的系统资源使⽤情况[root@master kubeadm-metrics-server]# kubectl top nodeNAME         CPU(cores)   CPU%   MEMORY(bytes)   
MEMORY%   
k8s-node01   51m          1%     831Mi           23%       
k8s-node02   55m          1%     931Mi           25%       
master       107m         2%     1412Mi          39%  [root@master kubeadm-metrics-server]# kubectl top po -A

二、Dashboard部署

Dashboard ⽤于展示集群中的各类资源,同时也可以通过 Dashboard 实时查看 Pod 的⽇志和在容器中执⾏⼀些命令等。

(1)安装组件

[root@master kubeadm-metrics-server]# cd /root/k8s-ha-install/dashboard/# 建⽴dashboard的pod资源[root@master dashboard]# kubectl create -f . 

(2)登录 dashboard

如果是⾕歌浏览器,需要在启动⽂件中加⼊下⾯的启动参数,⽤于解决⽆法访问 Dashboard的问题

--test-type --ignore-certificate-errors

(3)更改 svc 模式

[root@master dashboard]# kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard 
# edit:进⼊kubernetes的⽂本编辑器
# svc:指定某个服务项,这⾥指定的是kubernetes-dashboard
# -n:指定命名空间,kubernetes-dashboard
# 命令执⾏后相当于进⼊vim⽂本编辑器,不要⽤⿏标滚轮,会输出乱码的!
#可以使⽤“/”搜索,输⼊“/type”找到⽬标,如果已经为NodePort,忽略此步骤......省略部分内容......selector:k8s-app: kubernetes-dashboardsessionAffinity: Nonetype: NodePort

图示:

(4)查看访问端⼝号

# 获取kubernetes-dashboard状态信息,包含端⼝,服务IP等[root@master dashboard]# kubectl get svc kubernetes-dashboard -n kubernetes-dashboard 

找到端⼝号后,通过 master 的 IP+端⼝即可访问 dashboard(端⼝ 为终端查询到的端⼝,要⽤ https 协议访问)

(5)创建登录 token

[root@master dashboard]# kubectl create token admin-user -n kube-system

在“输⼊ token *”内输⼊终端⽣成的 token

三、部署Kube-proxy

(1)改为 ipvs模式

[root@master ~]# kubectl edit cm kube-proxy -n kube-system# 使⽤“/”找到“mode”,按照如下修改mode: ipvs

(2)更新 Kube-Proxy 的 Pod

[root@master ~]# kubectl patch daemonset kubeproxy -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}" -n kube-systemdaemonset.apps/kube-proxy patched[root@master ~]# curl 127.0.0.1:10249/proxyModeipvs

四、集群可⽤性验证

1. 验证节点

# 全部为Ready,是正常
[root@master ~]# kubectl get nodeNAME         STATUS   ROLES           AGE   
VERSION
k8s-node01   Ready   <none>         156m   v1.28.2
k8s-node02   Ready   <none>         155m   v1.28.2
master       Ready   control-plane   157m   v1.28.2

2. 验证 Pod

# 全部为running,表示正常[root@master ~]# kubectl get po -A 
NAMESPACE          NAME                                    READY   STATUS   RESTARTS   AGE
kube-system        calico-kube-controllers6d48795585-wj8g5 1/1     Running   0        156m
kube-system        calico-node-bk4p5                       1/1     Running   0        156m
kube-system        calico-node-kmsh7                       1/1     Running   0        156m
kube-system        calico-node-qthgh                       1/1     Running   0        156m
kube-system        coredns-6554b8b87f-jdc2b                1/1     Running   0        159m
kube-system        coredns-6554b8b87f-thftb                1/1     Running   0        159m
kube-system        etcd-master                             1/1     Running   0        159m
kube-system        kube-apiserver-master                   1/1     Running   0        159m
............................

3. 验证集群⽹段是否冲突

# 查看服务的⽹段[root@master ~]# kubectl get svc 
NAME         TYPE       CLUSTER-IP   EXTERNAL-IP PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1   <none>        443/TCP   160m# 查看所有命名空间下的所有⽹段,再与服务的⽹段进⾏⽐较[root@master ~]# kubectl get po -A -owide 

4. 验证是否可正常创建参数

# 已创建,表示正常[root@master ~]# kubectl create deploy clustertest-- image=registry.cnbeijing.aliyuncs.com/dotbalo/debug-tools-- sleep 3600 deployment.apps/cluster-test created
[root@master ~]# kubectl get po
NAME                           READY   STATUS   RESTARTS   AGE
cluster-test-66bb44bd88-sq8fx   1/1     Running   0         41s[root@master ~]# kubectl get po -owide
NAME   READY   STATUS   RESTARTS   AGE   IP     NODE    NOMINATED NODE   READINESS GATES
cluster-test-66bb44bd88-sq8fx 1/1 Running  0  48s  172.16.58.196  k8s-node02 <none> <none>

5. Pod 必须能够解析 Service

同 namespace 和跨 namespace

(1)nslookup kubernetes

# 进⼊pod下的某个容器
[root@master ~]# kubectl exec -it cluster-test66bb44bd88-sq8fx -- bash 
(06:36 cluster-test-66bb44bd88-sq8fx:/) nslookup kubernetes
Server: 10.96.0.10
Address: 10.96.0.10#53
Name: kubernetes.default.svc.cluster.local
Address: 10.96.0.1
# 可以解析到server的IP地址说明同namespace可以解析

(2)nslookup kube-dns.kube-system

(06:36 cluster-test-66bb44bd88-sq8fx:/) nslookup kube-dns.kube-system
Server: 10.96.0.10
Address: 10.96.0.10#53
Name: kube-dns.kube-system.svc.cluster.local
Address: 10.96.0.10# 可以解析到server的第⼗个ip,说明可以解析到kube-dns,说明跨namespace也可解析

6. 确认是否可访问 Kubernetes 的 443 和 kube-dns 的 53

每个节点都必须能访问 Kubernetes 的 kubernetes svc 443 和 kube-dns 的 service 53

[root@master ~]# curl https://10.96.0.1:443
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: 
https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
[root@master ~]# curl 10.96.0.10:53
curl: (52) Empty reply from server

7. 确认各 Pod 之间是否可正常通信

同 namespace 和跨 namespace

[root@master ~]# kubectl get po -nkube-system -owide[root@master ~]# kubectl get po -owide[root@master ~]# kubectl exec -it cluster-test66bb44bd88-sq8fx -- bash

同机器和跨机器

[root@master ~]# kubectl get po -owide[root@master ~]# ping 172.16.58.196 -c 3

五、注意事项

注意:kubeadm 安装的集群,证书有效期默认是⼀年。master 节点 的 kube-apiserver、kube-scheduler、kube-controller-manager、 etcd 都是以容器运⾏的。

可以通过 kubectl get po -n kube-system 查看。

启动和⼆进制不同的是,kubelet 的配置⽂件在 /etc/sysconfig/kubelet 和/var/lib/kubelet/config.yaml

修改后需要重启 kubelet 进程。

其他组件的配置⽂件在 /etc/kubernetes/manifests ⽬录下,⽐如 kube-apiserver.yaml,该 yaml ⽂件更改后,kubelet 会⾃动刷新配 置,也就是会重启 pod。不能再次创建该⽂件

kube-proxy 的配置在 kube-system 命名空间下的 configmap 中, 可以通过:

kubectl edit cm kube-proxy -n kube-system

进⾏更改,更改完成后,可以通过 patch 重启 kube-proxy:

kubectl patch daemonset kube-proxy -p "{\"spec\": {\"template\":{\"metadata\":{\"annotations\": {\"date\":\"`date +'%s'`\"}}}}}" -n kube-system

Kubeadm 安装后,master 节点默认不允许部署 Pod,可以通过以 下⽅式删除 Taint,即可部署 Pod:

kubectl taint node -l noderole.kubernetes.io/control-plane noderole.kubernetes.io/control-plane:NoSchedule-

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com