K8S实战DAY2-高可用集群测试
前言
创建nginx-ds服务,检查ip连通性,并创建nginxpod进入查看dns可用性
创建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: 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
IP测试
# 检查各 Node 上的 Pod IP 连通性
$ kubectl get pods -o wide
# 在每个节点上ping pod ip
$ ping <pod-ip>
# 检查service可达性
[root@m1 ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 25m
nginx-ds NodePort 10.103.167.177 <none> 80:31009/TCP 9m30s
# 在每个节点上访问服务
$ curl <service-ip>:<port>
# 在每个节点检查node-port可用性,该port为31009,每个节点的31009端口都被这个服务占用了
$ curl <node-ip>:<port>
DNS测试
1.创建一个nginxPod
cat > pod-nginx.yaml <<EOF
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
2.进入Pod
$ kubectl exec nginx -i -t -- /bin/bash
3.查看DNS配置
cat /etc/resolv.conf
4.ping 服务
ping nginx-ds
疑问
为什么这个Daemonset只部署在了Worker节点,还需进一步学习。
引用
某课网学习教程