k8s踩的坑
总结:严格安装k8s 官方文档部署执行 。坑1kubeadm init 注意增加 --pod-network-cidr=10.244.0.0/16 参数, 后面创建网络add on 时需要。坑2kubeadm init之后,先不要按提示kubeadmjoin 或者发布集群应用 ,接着下面的步骤 安装创建网络先。坑3安装 网络add on 的时候最好用 Calico, ...
·
总结:
- 严格安装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 集群是否建立成功
- kubectl get nodes 查看所有的状态都是 ready 才算成功。
- 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
更多推荐
已为社区贡献2条内容
所有评论(0)