linux运维

k8s部署-18-集群测试

2022-03-23  本文已影响0人  运维家

通过这几篇文章,相信我们已经通过kubernetes-the-hard-way的方式,将k8s集群搭建成功了,那么如何进行验证呢?无非就是新建一个daemonset嘛,然后通过检测各种网络连通性验证,那么话不多说,直接来实操吧。

 新建nginx的yaml文件

# 建立配置文件[root@node1 ~]# cat > nginx-ds.yml <<EOFapiVersion: v1kind: Servicemetadata:  name: nginx-ds  labels:    app: nginx-dsspec:  type: NodePort  selector:    app: nginx-ds  ports:  - name: http    port: 80    targetPort: 80---apiVersion: apps/v1kind: DaemonSetmetadata:  name: nginx-dsspec:  selector:    matchLabels:      app: nginx-ds  template:    metadata:      labels:        app: nginx-ds    spec:      containers:      - name: my-nginx        image: nginx:1.19        ports:        - containerPort: 80EOF[root@node1 ~]# # 生成daemonset[root@node1 ~]# kubectl apply -f nginx-ds.yml # 检查生成情况# 由于没有指定namespace,所以默认在default的命名空间中[root@node1 ~]# kubectl get podNAME             READY   STATUS    RESTARTS   AGEnginx-ds-m8wrf   1/1     Running   0          22snginx-ds-zc5qt   1/1     Running   0          22s[root@node1 ~]#

检查IP地址连通

# 获取到pod的IP地址[root@node1 ~]# kubectl get pod -o wideNAME             READY   STATUS    RESTARTS   AGE     IP             NODE    NOMINATED NODE   READINESS GATESnginx-ds-m8wrf   1/1     Running   0          2m31s   10.200.135.3   node3   <none>           <none>nginx-ds-zc5qt   1/1     Running   0          2m31s   10.200.104.2   node2   <none>           <none>[root@node1 ~]# # 分别在node2和node3这两个worker节点上ping一下[root@node2 ~]# ping 10.200.135.3[root@node2 ~]# ping 10.200.104.2[root@node3 ~]# ping 10.200.135.3[root@node3 ~]# ping 10.200.104.2# 检查svc的可达性[root@node1 ~]# kubectl get svcNAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGEkubernetes   ClusterIP   10.233.0.1       <none>        443/TCP        22hnginx-ds     NodePort    10.233.127.233   <none>        80:30323/TCP   4m12s[root@node1 ~]# # 获取到IP为10.233.127.233# 然后在worker节点上分别curl一下,看看是否成功返回nginx界面。[root@node2 ~]# curl 10.233.127.233<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style>html { color-scheme: light dark; }body { width: 35em; margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif; }</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer to<a href="http://nginx.org/">nginx.org</a>.<br/>Commercial support is available at<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p></body></html>[root@node2 ~]# # 再检查通过node的IP地址是否能通,使用如下命令,在worker节点上执行[root@node2 ~]# curl 10.200.135.3:80[root@node2 ~]# curl 10.200.104.2:80

检查dns

# 创建一个nginx的pod[root@node1 ~]# cat > pod-nginx.yaml <<EOFapiVersion: v1kind: Podmetadata:  name: nginxspec:  containers:  - name: nginx    image: docker.io/library/nginx:1.19    ports:    - containerPort: 80EOF[root@node1 ~]# # 使配置生效[root@node1 ~]# kubectl apply -f pod-nginx.yaml pod/nginx created[root@node1 ~]# # 查看现在的pod[root@node1 ~]# kubectl get podNAME             READY   STATUS    RESTARTS   AGEnginx            1/1     Running   0          51snginx-ds-m8wrf   1/1     Running   0          9m11snginx-ds-zc5qt   1/1     Running   0          9m11s[root@node1 ~]# # 进入pod[root@node1 ~]# kubectl exec nginx -it -- /bin/bash# 查看DNSroot@nginx:/# cat /etc/resolv.conf search default.svc.cluster.local svc.cluster.local cluster.local localdomainnameserver 169.254.25.10options ndots:5root@nginx:/# # 检查名字是否可以正常解析root@nginx:/# curl nginx-ds # 经过检测是可以的

日志功能

剩余内容请转至VX公众号 “运维家” ,回复 “125” 查看。

上一篇下一篇

猜你喜欢

热点阅读