当前位置:网站首页>Le Cluster kubernets en cours d'exécution veut ajuster l'adresse du segment réseau du pod

Le Cluster kubernets en cours d'exécution veut ajuster l'adresse du segment réseau du pod

2022-07-07 11:29:00 Jiangxl

En coursK8SRegroupementPodAdresse du segment réseau pour

1.ModifierPodContexte de l'adresse du segment

UtilisersealosDéploiementK8SCluster,Par défautPodLe segment réseau est100.64.0.0/16,Il n'y a aucun problème à fonctionner dans un environnement privatisé,Mais quand le cluster est déployé dans alicloudECSAprès le milieu,AdoptionSLBCharge à sept niveauxK8SLorsqu'il s'agit d'applications dans un Cluster,Une exception d'accès se produit,Le paquet ne peut pas être retourné correctement àSLB, Après discussion avec les ingénieurs d'Alibaba Cloud ,SLBTransmisProxyLe segment réseau est100.64.0.0/16,AvecK8S Pod Conflit d'adresses de segment pour , Cela peut causer des anomalies du réseau .
Insérer la description de l'image ici

2.En coursK8SInformations sur le cluster

[[email protected] ~]# kubectl get nodes
NAME         STATUS   ROLES    AGE     VERSION
k8s-master   Ready    master   6m43s   v1.19.16
k8s-node-1   Ready    <none>   6m13s   v1.19.16
k8s-node-2   Ready    <none>   6m13s   v1.19.16

À l'heure actuellePod L'adresse du segment réseau est 100Segment réseau, On va l'ajuster à 10.10.0.0/18.

Insérer la description de l'image ici

3.D'abord.K8SLe Cluster construit unPod

D'abord.K8SLe Cluster construit unPod, Observez avant et après la modification du segment réseau PodDisponible ou non.

1) Fichier d'orchestration des ressources

[[email protected]-master k8s]# cat nginx.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        name: nginx
        ports:
        - containerPort: 80
          name: http
          protocol: TCP
        - containerPort: 443
          name: https
          protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx
  name: nginx-80-443
  namespace: default
spec:
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  selector:
    app: nginx
  type: NodePort

2)Déploiement

[[email protected] k8s]# kubectl get all
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-6b89b7f467-ct6md   1/1     Running   0          8m32s

NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
service/kubernetes     ClusterIP   10.96.0.1       <none>        443/TCP                      26m
service/nginx-80-443   NodePort    10.99.243.115   <none>        80:31575/TCP,443:31418/TCP   8m32s

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   1/1     1            1           8m32s

NAME                               DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-6b89b7f467   1         1         1       8m32s

4.AjustementK8SClusterPodSegment réseau

4.1.AjustementK8SSegment réseau du pool d'adresses

1.VoirK8S Pool d'adresses par défaut 
[[email protected] k8s]# kubectl get ippool
NAME                  AGE
default-ipv4-ippool   18m

2. Ajuster la plage d'adresses du pool d'adresses 
[[email protected] k8s]# kubectl edit ippool default-ipv4-ippool
  cidr: 10.10.0.0/18

Insérer la description de l'image ici

4.2.AjustementController-ManagerSegment réseau du composant

[[email protected]k8s-master k8s]# vim /etc/kubernetes/manifests/kube-controller-manager.yaml 
    - --cluster-cidr=10.10.0.0/18

Insérer la description de l'image ici

4.4.AjustementKube-proxyAdresse du segment

[root@k8s-master k8s]# kubectl edit cm kube-proxy -n kube-system
    clusterCIDR: 10.10.0.0/18

4.5.AjustementK8SCluster tous les noeudsyamlAdresse du segment réseau dans le fichier

Combien?Node Combien de fois faites - vous la même chose .

[[email protected] k8s]# kubectl get nodes k8s-master  -o yaml > master.yaml
[[email protected] k8s]# kubectl get nodes k8s-node-1  -o yaml > node-1.yaml
[[email protected] k8s]# kubectl get nodes k8s-node-2  -o yaml > node-2.yaml

[[email protected] k8s]# vim master.yaml
          v:"10.10.0.0/18": {}
spec:
  podCIDR: 10.10.0.0/18
  podCIDRs:
  - 10.10.0.0/18

Insérer la description de l'image ici

[root@k8s-master k8s]# kubectl delete node k8s-master
node "k8s-master" deleted
[root@k8s-master k8s]# kubectl apply -f master.yaml 
node/k8s-master created

[root@k8s-master k8s]# kubectl delete node k8s-node-1
node "k8s-node-1" deleted
[root@k8s-master k8s]# kubectl delete node k8s-node-2
node "k8s-node-2" deleted
[root@k8s-master k8s]# kubectl apply -f node-1.yaml 
node/k8s-node-1 created
[root@k8s-master k8s]# kubectl apply -f node-2.yaml 
node/k8s-node-2 created

4.6.Redémarrage de tous les noeudskubelet

systemctl restart kubelet

4.7.RedémarrerK8SEn grappesPod

[[email protected] k8s]# kubectl delete pod nginx-6b89b7f467-ct6md
pod "nginx-6b89b7f467-ct6md" deleted

[[email protected] k8s]# kubectl get pod -o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES
nginx-6b89b7f467-869m2   1/1     Running   0          23s   10.10.5.129   k8s-node-1   <none>           <none>

Pod L'adresse a été modifiée avec succès .

原网站

版权声明
本文为[Jiangxl]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207070936112052.html