天天看点

kubeadm 搭建K8S 1.18集群--验证集群

四.验证集群

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内部网络通信是否正常

  1. for i in k8s-01 k8s-02 k8s-03 k8s-04 k8s-05

  2. do

  3. ssh root@$i curl -s 10.96.21.46

    #nginx svc ip

  4. ssh root@$i curl -s 10.244.3.4

    #pod ip

  5. done

6.端口我这里使用了nodeport,在集群任意节点访问节点IP:30001检查是否正常

kubeadm 搭建K8S 1.18集群--验证集群

初始化集群(如果过程中出现问题,我们可以直接执行下面的命令进行初始化集群)

kubeadm reset