K8s搭建

作者: 死鱼 | 来源:发表于2020-01-08 16:44 被阅读0次

引用:Kubernetes(一) 跟着官方文档从零搭建K8S

安装

阿里源配置

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

然后安装K8s

setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet

修改网络配置

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

配置启动

master节点配置

1、生成初始化配置文件
kubeadm config print init-defaults > kubeadm-init.yaml
  1. advertiseAddress要改成自己的IP
  2. 改源:将imageRepository: k8s.gcr.io修改为imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
2、下载镜像
kubeadm config images pull --config kubeadm-init.yaml
3、初始化
kubeadm init --config kubeadm-init.yaml
image.png

然后根据警告 启动一下kubelet.service

systemctl enable kubelet.service

根据报错,发现iptables没设置为1,设置一下即可


设置iptable

根据报错,关一下swap


关闭swap
启动完毕
image.png

最后两行需要保存下来,worker节点接入的时候,需要配置这个hash

4、配置环境,让当前用户可以使用kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

测试:获取节点信息

kubectl get node
image.png

NotReady是因为还没配置网络

5、网络配置

下载描述文件

wget https://docs.projectcalico.org/v3.8/manifests/calico.yaml

获取配置文件中的子网网段信息,修改calico.yaml,将192.168.0.0/16修改为10.96.0.0/12。此处calico.yaml的ip必须与kubeadm-init保持一致。

cat kubeadm-init.yaml | grep serviceSubnet:
image.png
6、初始化网络
kubectl apply -f calico.yaml

然后节点就已经ready了


image.png

安装好后再次启动:

Master初始化

// 记得关闭swap
swapoff -a

// 启动kubelet
systemctl enable kubelet
systemctl start kubelet

// 写入启动配置
kubeadm config print init-defaults > kubeadm-init.yaml
/* 修改配置内容 */
advertiseAddress : {localIP}
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers

// 初始化master节点
kubeadm init --config xxx.config --ignore-preflight-errors=all

Worker节点

// 记得关闭swap
swapoff -a

// 启动kubelet (好像不启动也行)
systemctl enable kubelet
systemctl start kubelet

// 加入Master节点网络
...... Master启动时候会给token出来,用那句kubeadm join ...

移除节点、添加节点

引用:kubernetes集群节点的移除与加入
重点:

kubeadm token create --print-join-command

遇到的问题

[kubelet-check] Initial timeout of 40s passed.

超时,引用解决方案:https://blog.csdn.net/qq_19107011/article/details/92802571

相关文章

网友评论

      本文标题:K8s搭建

      本文链接:https://www.haomeiwen.com/subject/zddsactx.html