温馨提示×

Ubuntu上kubeadm的网络配置方法

小樊
81
2024-09-10 02:55:25
栏目: 智能运维

在Ubuntu上使用kubeadm部署Kubernetes集群时,需要配置网络插件

  1. 安装Calico网络插件:
kubectl apply -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl apply -f https://docs.projectcalico.org/manifests/custom-resources.yaml
  1. 等待所有节点的状态变为Ready
kubectl get nodes
  1. 创建一个测试Pod并暴露为服务:
kubectl create deployment hello-world --image=gcr.io/google-samples/node-hello:1.0
kubectl expose deployment hello-world --type=LoadBalancer --port=8080
  1. 获取分配给服务的IP地址:
kubectl get services
  1. 通过浏览器或者curl命令访问该IP地址,查看是否能正常访问。

如果你想使用其他网络插件,例如Flannel,Weave Net或者Cilium,可以参考官方文档进行安装和配置。这里提供一个Flannel的示例:

  1. 下载Flannel YAML文件:
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  1. 修改kube-flannel.yml文件中的net-conf.json部分,将Network字段设置为你的集群网络CIDR(例如:10.244.0.0/16):
net-conf.json: |
    {
      "Network": "10.244.0.0/16",
      "Backend": {
        "Type": "vxlan"
      }
    }
  1. 应用Flannel YAML文件:
kubectl apply -f kube-flannel.yml
  1. 确认所有节点的状态变为Ready
kubectl get nodes
  1. 创建一个测试Pod并暴露为服务:
kubectl create deployment hello-world --image=gcr.io/google-samples/node-hello:1.0
kubectl expose deployment hello-world --type=LoadBalancer --port=8080
  1. 获取分配给服务的IP地址:
kubectl get services
  1. 通过浏览器或者curl命令访问该IP地址,查看是否能正常访问。

请注意,不同网络插件的配置方式可能会有所不同,请根据实际情况进行调整。

0