• 基于 kubeadm 搭建高可用的kubernetes 1.18.2 (k8s)集群- 三 集群可用性测试


    详细信息请参考本人的git仓库 地址为 https://gitee.com/salmon_163/kubernetes-ha-kubeadm.git

    1. 创建nginx ds

     # 写入配置
    $ 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: apps/v1
    kind: DaemonSet
    metadata:
      name: nginx-ds
      labels:
        addonmanager.kubernetes.io/mode: Reconcile
    spec:
      selector:
        matchLabels:
          app: nginx-ds
      template:
        metadata:
          labels:
            app: nginx-ds
        spec:
          containers:
          - name: my-nginx
            image: nginx:1.17
            ports:
            - containerPort: 80
    EOF
    
    # 创建ds
    $ kubectl create -f nginx-ds.yml
    
    
    

    2. 检查各种ip连通性

    # 检查各 Node 上的 Pod IP 连通性
    $ kubectl get pods  -o wide
    
    # 在每个节点上ping pod ip
    $ ping <pod-ip>
    
    # 检查service可达性
    $ kubectl get svc
    
    # 在每个节点上访问服务
    $ curl <service-ip>:<port>
    
    # 在每个节点检查node-port可用性
    $ curl <node-ip>:<port>
    

    3. 检查dns可用性

    # 创建一个nginx pod
    $ cat > pod-nginx.yaml <<EOF
    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.17
        ports:
        - containerPort: 80
    EOF
    
    # 创建pod
    $ kubectl create -f pod-nginx.yaml
    
    # 进入pod,查看dns
    $ kubectl exec  nginx -i -t -- /bin/bash
    
    # 查看dns配置
    root@nginx:/# cat /etc/resolv.conf
    
    # 查看名字是否可以正确解析
    root@nginx:/# ping nginx-ds
    
  • 相关阅读:
    对流程和规范的思考
    我的一小时面试指南
    安全扫描工具nikto简单使用
    测试的角色
    测试的窘境
    关于重连测试的一点研究
    ETCD高可用特性学习
    Cgroup和Namespace在测试中的使用(下)
    单循环列表的删除前驱结点
    指针常量字符串
  • 原文地址:https://www.cnblogs.com/itgiser/p/12984594.html
Copyright © 2020-2023  润新知