验证集群功能
说明:本部署文章参照了 https://github.com/opsnull/follow-me-install-kubernetes-cluster ,欢迎给作者star
本文档使用 daemonset 验证 master 和 worker 节点是否工作正常。
注意:如果没有特殊指明,本文档的所有操作均在 k8s-master1 节点上执行,然后远程分发文件和执行命令
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。检查节点状态
[root@k8s-master1 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-node1 Ready <none> 64m v1.14.1 k8s-node2 Ready <none> 64m v1.14.1 k8s-node3 Ready <none> 64m v1.14.1
都为 Ready 时正常。
创建测试文件
cd /opt/k8s/work cat > nginx-ds.yml <<EOF apiVersion: v1 kind: Service metadata: name: nginx-ds labels: app: nginx-ds spec: type: NodePort selector: app: nginx-ds ports: - name: http port: 80 targetPort: 80 --- apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: nginx-ds labels: addonmanager.kubernetes.io/mode: Reconcile spec: template: metadata: labels: app: nginx-ds spec: containers: - name: my-nginx image: nginx:1.7.9 ports: - containerPort: 80 EOF
执行定义文件
kubectl create -f nginx-ds.yml
检查各 Node 上的 Pod IP 连通性
kubectl get pods -o wide|grep nginx-ds nginx-ds-69tzf 1/1 Running 0 2m34s 172.30.112.2 k8s-node3 <none> <none> nginx-ds-fl6r7 1/1 Running 0 2m14s 172.30.16.2 k8s-node1 <none> <none> nginx-ds-xqp8m 1/1 Running 0 2m34s 172.30.248.2 k8s-node2 <none> <none>
可见,nginx-ds 的 Pod IP 分别是 172.30.112.2
、172.30.16.2
、172.30.248.2
,在所有 Node 上分别 ping 这三个 IP,看是否连通:
source /opt/k8s/bin/environment.sh for node_ip in 192.168.161.170 192.168.161.171 192.168.161.172 do echo ">>> ${node_ip}" ssh ${node_ip} "ping -c 1 172.30.112.2" ssh ${node_ip} "ping -c 1 172.30.16.2" ssh ${node_ip} "ping -c 1 172.30.248.2" done
检查服务 IP 和端口可达性
[root@k8s-master1 work]# kubectl get svc |grep nginx-ds nginx-ds NodePort 10.254.250.3 <none> 80:32218/TCP 4m37s
可见:
- Service Cluster IP:10.254.250.3
- 服务端口:80
- NodePort 端口:32218
在所有 Node 上 curl Service IP:
source /opt/k8s/bin/environment.sh for node_ip in 192.168.161.170 192.168.161.171 192.168.161.172 do echo ">>> ${node_ip}" ssh ${node_ip} "curl 10.254.250.3" done
预期输出 nginx 欢迎页面内容。

更多精彩