总结:

  1. 严格安装k8s 官方文档部署执行 。

坑1

kubeadm init 注意增加 --pod-network-cidr=10.244.0.0/16 参数, 后面创建网络add on 时需要。

坑2

kubeadm init 之后,先不要按提示kubeadm join 或者发布集群应用 ,接着下面的步骤 安装创建网络先。

坑3

安装 网络add on 的时候最好用 Calico , 同时把对应的yaml 下载修改 calico.yaml 中的192.168.0.0/16 为 10.244.0.0/16 (上面kubeadm init 中的网络设置) 。- name: IP value: “autodetect” 下面增加以下内容(避免多网卡情况下,calico 安装失败)

 - name: IP_AUTODETECTION_METHOD
   value: "interface=ens3"

核查k8s 集群是否建立成功

  1. kubectl get nodes 查看所有的状态都是 ready 才算成功。
    在这里插入图片描述
  2. kubectl get pods --all-namespace 查看所有pod的状态都是running 及副本数跟实际数一致才算成功。

在这里插入图片描述

以下为发布nginx到k8s 集群的脚本。使用kubectl create -f nginx.yaml 发布集群 ,然后 访问 http://xxxx.xxxx.xxx:30080/ 可以看到nginx 的欢迎信息。证明整个k8s集群部署成功。

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
     app: nginx    
spec:
     containers:
        - name: nginx
          image: nginx
          imagePullPolicy: IfNotPresent
          ports:
          - containerPort: 80
     restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: NodePort
  sessionAffinity: ClientIP
  selector:
    app: nginx
  ports:
    - port: 80
      nodePort: 30080

资料: https://www.cnblogs.com/RainingNight/p/using-kubeadm-to-create-a-cluster-1-13.html
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/

k8s 的dashborad 安装配置 : https://www.jianshu.com/p/6f42ac331d8a

kubeadm init --image-repository 可以指定国内的镜像仓库。 默认k8s.gcr.io 国内无法访问。

sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.13.0 --pod-network-cidr=192.168.0.0/16
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐