四.验证集群
1.验证
kubectl -n kube-system get pod -o wide
2.等kube-system命名空间下的Pod都为Running,这里先测试一下dns是否正常
cat<<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- image: nginx:alpine
name: nginx
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
selector:
app: nginx
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30001
---
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: default
spec:
containers:
- name: busybox
image: abcdocker9/centos:v1
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
EOF
复制
3.创建后Pod我们进行检查
[root@k8s-01 ~]# kubectl get pod,svc
NAME READY STATUS RESTARTS AGE
pod/busybox 1/1 Running 0 4m21s
pod/nginx-97499b967-lfvcq 1/1 Running 0 4m21s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 443/TCP 16h
service/nginx NodePort 10.96.21.46 80:30001/TCP 15h
复制
4.使用nslookup查看是否能返回地址
[root@k8s-01 ~]# kubectl exec -ti busybox -- nslookup kubernetes
Server: 10.96.0.10
Address: 10.96.0.10#53
Name: kubernetes.default.svc.cluster.local
Address: 10.96.0.1
复制
5.测试nginx svc以及Pod内部网络通信是否正常
-
for i in k8s-01 k8s-02 k8s-03 k8s-04 k8s-05
-
do
-
ssh root@$i curl -s 10.96.21.46
#nginx svc ip
-
ssh root@$i curl -s 10.244.3.4
#pod ip
-
done
6.端口我这里使用了nodeport,在集群任意节点访问节点IP:30001检查是否正常
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcuI2cht2coFje5g2LcRDO0ATNyczLcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
初始化集群(如果过程中出现问题,我们可以直接执行下面的命令进行初始化集群)
kubeadm reset