08.验证集群功能

08.验证集群功能

本文档使用 daemonset 验证 master 和 worker 节点是否工作正常。

检查节点状态

$ kubectl get nodes
NAME         STATUS    ROLES     AGE       VERSION
kube-node1   Ready     <none>    3h        v1.10.4
kube-node2   Ready     <none>    3h        v1.10.4
kube-node3   Ready     <none>    3h        v1.10.4

都为 Ready 时正常。

创建测试文件

$ 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
service "nginx-ds" created
daemonset.extensions "nginx-ds" created

检查各 Node 上的 Pod IP 连通性

$ kubectl get pods  -o wide|grep nginx-ds
nginx-ds-dbn97   1/1       Running   0          2m        172.30.29.2   kube-node2
nginx-ds-rk777   1/1       Running   0          2m        172.30.81.2   kube-node1
nginx-ds-tr9g5   1/1       Running   0          2m        172.30.39.2   kube-node3

可见,nginx-ds 的 Pod IP 分别是 172.30.39.2172.30.81.2172.30.29.2,在所有 Node 上分别 ping 这三个 IP,看是否连通:

source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh ${node_ip} "ping -c 1 172.30.39.2"
    ssh ${node_ip} "ping -c 1 172.30.81.2"
    ssh ${node_ip} "ping -c 1 172.30.29.2"
  done

检查服务 IP 和端口可达性

$ kubectl get svc |grep nginx-ds
nginx-ds     NodePort    10.254.254.228   <none>        80:8900/TCP   4m

可见:

  • Service Cluster IP:10.254.254.228
  • 服务端口:80
  • NodePort 端口:8900

在所有 Node 上 curl Service IP:

source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh ${node_ip} "curl 10.254.254.228"
  done

预期输出 nginx 欢迎页面内容。

检查服务的 NodePort 可达性

在所有 Node 上执行:

source /opt/k8s/bin/environment.sh
for node_ip in ${NODE_IPS[@]}
  do
    echo ">>> ${node_ip}"
    ssh ${node_ip} "curl ${node_ip}:8900"
  done

预期输出 nginx 欢迎页面内容。

链接:https://www.orchome.com/1201
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/linux20190409/p/10976984.html

时间: 2024-08-02 08:49:55

08.验证集群功能的相关文章

Node.js的集群功能以及在Express的配置

Node.js在v0.6.0版本下内置了集群功能,作为cluster模块,用于nodejs的多核处理,也比较容易通过脚本实现一个负载均衡的集群. 脚本参考了其他人的材料,建立一个server.js(因为虚拟机只有1核,为模拟多线程,所以采用numCPUs+4) var cluster = require('cluster'); var http = require('http'); var numCPUs = require('os').cpus().length; if (cluster.is

Redis集群功能预览

目前Redis Cluster仍处于Beta版本,Redis 3.0将会加入,在此可以先对其主要功能和原理进行一个预览.参考<Redis Cluster - a pragmatic approach to distribution>. 1 没有集群的Redis 没有集群功能的Redis,每个master-slave主从复制都独立于其他结点,sharding需要在客户端如Jedis中控制.可以使用官方提供的Sentinel监控主从的状态,实现自动的Fail-over切换.具体请参见<Red

redis3.0 集群实战2 - 集群功能实战

1 集群基本操作 1.1 查看当前集群状态 使用redis-trib.rb check功能查看对应的节点的状态: [[email protected] bin]# ./redis-trib.rb check 127.0.0.1:7000 Connecting to node 127.0.0.1:7000: OK Connecting to node 127.0.0.1:7002: OK Connecting to node 127.0.0.1:7001: OK Performing Cluste

Redis集群功能概述

在单机Redis中介绍过Redis的复制特性以及Redis Sentinel和twemproxy,其中: 复制:可以创建指定服务器的复制品,这些复制品可以用户扩展系统处理读请求的能力: Redis Sentinel:可以在复制特性的基础上,通过监视主从服务器并在主服务器故障时执行自动故障转移来保证系统的可用性: twemproxy:使用分片策略来讲数据库划分到多个不同的服务器,以此来扩展系统存储的数据量,并通过将命令请求分散给不同的服务器来处理,以此来扩展系统处理命令请求的能力: 但是以上的特性

RPM包安装Nginx实现反代和集群功能

当服务器的访问量大量飙升的时候,一台服务器就会承受不了那么大的压力,所以我们可以将例如web这种服务进行分流,转发到其他服务器进行处理,这种转发的方式使用的是Nginx的ngx_http_proxy_module模块和upstream功能. 一.机器准备和软件安装 首先要准备三台虚拟机,一台虚拟机安装Nginx进行代理功能的实现,另外两台安装Httpd进行Web功能的实现.在这里,我准备了一台IP为172.16.2.1的主机安装Nginx,另两台IP分别为172.16.2.2和172.16.2.

Jewel版本Ceph集群功能性能测试

参考文档 http://docs.ceph.com/docs/master/start/quick-start-preflight/#rhel-centoshttps://www.linuxidc.com/Linux/2017-09/146760.htmhttp://s3browser.com/http://docs.ceph.org.cn/man/8/rbd/https://hub.packtpub.com/working-ceph-block-device/#https://github.c

kubernetes(八)二进制安装-集群简单验证

验证集群功能(在master节点上执行) 以一个nginx的service和deployment来验证集群功能 创建启动文件 mkdir /opt/k8s/yml cd /opt/k8s/yml cat > nginx.yml << EOF apiVersion: v1 kind: Service metadata: name: nginx labels: app: nginx spec: type: NodePort selector: app: nginx ports: - name

对Elastic集群配置TLS加密通信及身份验证

1.介绍 官方宣布从6.8和7.1开始,免费提供多项安全功能.其中包括tls加密通信,基于角色访问控制等功能. 可以使用企业CA证书来完成这一步骤,但是一般情况下,我们可以通过elasticsearch自带的elasticsearch-certutil的命令生成证书.然后各节点通过该证书可以进行安全通信. 2. 步骤 2.1 生成证书 搭建好了es集群,先拿第一个节点来操作,进入elasticsearch目录,然后执行以下命令. cd /usr/share/elasticsearch # 使用y

centos EMQTTD 集群安装配置与测试验证

安装包下载地址: http://emqtt.com/downloads 在这里我们下载 emqttd-centos6.8-v2.1.2.zip 配置两台主机hosts 192.168.0.10  s1.emqtt.io 192.168.0.20  s2.emqtt.io 安装配置(s1.emqtt.io):  安装依赖包  # yum install -y lksctp-tools    安装 # unzip emqttd-centos6.8-v2.1.2.zip  #cd emqttd #vi