k8s部署-18-集群测试

图片

通过这几篇文章,相信我们已经通过kubernetes-the-hard-way的方式,将k8s集群搭建成功了,那么如何进行验证呢?无非就是新建一个daemonset嘛,然后通过检测各种网络连通性验证,那么话不多说,直接来实操吧。

图片

新建nginx的yaml文件

# 建立配置文件
[root@node1 ~]# 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
spec:
  selector:
    matchLabels:
      app: nginx-ds
  template:
    metadata:
      labels:
        app: nginx-ds
    spec:
      containers:
      - name: my-nginx
        image: nginx:1.19
        ports:
        - containerPort: 80
EOF
[root@node1 ~]# 
# 生成daemonset
[root@node1 ~]# kubectl apply -f nginx-ds.yml 
# 检查生成情况
# 由于没有指定namespace,所以默认在default的命名空间中
[root@node1 ~]# kubectl get pod
NAME             READY   STATUS    RESTARTS   AGE
nginx-ds-m8wrf   1/1     Running   0          22s
nginx-ds-zc5qt   1/1     Running   0          22s
[root@node1 ~]#

检查IP地址连通性

# 获取到pod的IP地址
[root@node1 ~]# kubectl get pod -o wide
NAME             READY   STATUS    RESTARTS   AGE     IP             NODE    NOMINATED NODE   READINESS GATES
nginx-ds-m8wrf   1/1     Running   0          2m31s   10.200.135.3   node3   <none>           <none>
nginx-ds-zc5qt   1/1     Running   0          2m31s   10.200.104.2   node2   <none>           <none>
[root@node1 ~]# 
# 分别在node2和node3这两个worker节点上ping一下
[root@node2 ~]# ping 10.200.135.3
[root@node2 ~]# ping 10.200.104.2
[root@node3 ~]# ping 10.200.135.3
[root@node3 ~]# ping 10.200.104.2

# 检查svc的可达性
[root@node1 ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.233.0.1       <none>        443/TCP        22h
nginx-ds     NodePort    10.233.127.233   <none>        80:30323/TCP   4m12s
[root@node1 ~]# 
# 获取到IP为10.233.127.233
# 然后在worker节点上分别curl一下,看看是否成功返回nginx界面。
[root@node2 ~]# curl 10.233.127.233
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@node2 ~]# 
# 再检查通过node的IP地址是否能通,使用如下命令,在worker节点上执行
[root@node2 ~]# curl 10.200.135.3:80
[root@node2 ~]# curl 10.200.104.2:80

检查dns

# 创建一个nginx的pod
[root@node1 ~]# cat > pod-nginx.yaml <<EOF
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
  - name: nginx
    image: docker.io/library/nginx:1.19
    ports:
    - containerPort: 80
EOF
[root@node1 ~]# 
# 使配置生效
[root@node1 ~]# kubectl apply -f pod-nginx.yaml 
pod/nginx created
[root@node1 ~]# 

# 查看现在的pod
[root@node1 ~]# kubectl get pod
NAME             READY   STATUS    RESTARTS   AGE
nginx            1/1     Running   0          51s
nginx-ds-m8wrf   1/1     Running   0          9m11s
nginx-ds-zc5qt   1/1     Running   0          9m11s
[root@node1 ~]# 

# 进入pod
[root@node1 ~]# kubectl exec nginx -it -- /bin/bash

# 查看DNS
root@nginx:/# cat /etc/resolv.conf 
search default.svc.cluster.local svc.cluster.local cluster.local localdomain
nameserver 169.254.25.10
options ndots:5
root@nginx:/# 
# 检查名字是否可以正常解析
root@nginx:/# curl nginx-ds # 经过检测是可以的

**日志功能
**
剩余内容请转至VX公众号 “运维家” ,回复 “125” 查看。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
部署 k8s 中的 ingress-controller v1.1.0,可以按照以下步骤进行操作: 1. 首先,确保 Kubernetes 集群已经可用并且已经正确设置。 2. 下载 ingress-controller v1.1.0 的安装文件。可以通过访问官方仓库或者 GitHub 并找到相关的发布版本进行下载。 3. 解压并配置 ingress-controller。通常可以通过编辑 YAML 文件来配置 ingress-controller,在其中指定一些关键参数,如使用的 ingress 类型、负载均衡器类型等。 4. 部署 ingress-controller。通过使用 kubectl 命令行工具,执行 `kubectl apply -f <配置文件>` 来完成 ingress-controller 的部署。 5. 确认 ingress-controller 已经成功部署。可以使用 `kubectl get pods -n <命名空间>` 命令来确认 ingress-controller 的运行状态。 6. 配置 ingress 规则。根据实际需求,编辑定义 ingress 规则的 YAML 文件并部署Kubernetes 中。 7. 确认 ingress 规则已经生效。可以通过 `kubectl get ingress -n <命名空间>` 命令来查看已部署的 ingress 规则,并确认其状态为 "RUNNING"。 8. 测试 ingress-controller。通过访问 ingress 规则中指定的域名或路径来确认 ingress-controller 是否成功地将请求转发到相应的服务。 这些步骤可以帮助您在 Kubernetes部署 ingress-controller v1.1.0,并通过 ingress 规则进行请求转发。在部署过程中,记得根据实际需求进行必要的配置和调整,以确保 ingress-controller 能够正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值