玖叶教程网

前端编程开发入门

每日一见K8s笔记(三十七)service类型及环境准备

Service类型

service的资源清单文件

  • ClusterIP:默认值,它是k8s系统自动分配的虚拟IP,只能在集群内部访问
  • NodePort:将service通过指定的node上的端口爆率给外部,通过此方法,就可以在集群外部访问服务
  • LoadBalancer:使用外部负载均衡器完成到服务的负载分发,注意此模式需要外部云环境支持
  • ExternalName:把集群外部的服务引入集群内部,直接使用

service使用

实验环境准备

在使用service之前,首先利用Deployment创建出3个pod,注意要为pod设置app=nginx-pod的标签。

创建deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
 name: pc-deployment
 namespace: dev
spec:
 replicas: 3
 selector:
  matchLabels:
   app: nginx-pod
 template:
  metadata:
   labels:
    app: nginx-pod
  spec: 
   containers:
   - name: nginx
     image: nginx:1.17.1
     ports:
     - containerPort: 80
#创建 
kubectl create -f deployment.yaml

#查看pod详情
kubectl get pods -n dev

[root@master k8s]# kubectl get pods -n dev
NAME                             READY   STATUS    RESTARTS   AGE
pc-deployment-6696798b78-4km7f   1/1     Running   0          94s
pc-deployment-6696798b78-dw9q8   1/1     Running   0          94s
pc-deployment-6696798b78-rfkng   1/1     Running   0          94s

[root@master k8s]# kubectl get pods -n dev -o wide
NAME                             READY   STATUS    RESTARTS   AGE     IP            NODE    NOMINATED NODE   READINESS GATES
pc-deployment-6696798b78-4km7f   1/1     Running   0          3m35s   10.244.2.80   node2   <none>           <none>
pc-deployment-6696798b78-dw9q8   1/1     Running   0          3m35s   10.244.2.78   node2   <none>           <none>
pc-deployment-6696798b78-rfkng   1/1     Running   0          3m35s   10.244.2.79   node2   <none>  

#为了方便后面的测试,修改下三台nginx的index.html页面
#kubectl exec -it pc-deployment-6696798b78-4km7f -n dev /bin/sh
#echo "10.244.2.80" > /usr/share/nginx/html/index.html

#修改完成后,访问测试一下
[root@master k8s]# curl 10.244.2.80
10.244.2.80

[root@master k8s]# curl 10.244.2.78
10.244.2.78

[root@master k8s]# curl 10.244.2.79
10.244.2.79

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言