天天看點

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