CENTOS部署K8S


本人平生最讨厌的事情之一就是配环境,每次到一个新的学习工作环境中都会遇到重新配置环境的问题…还往往困扰人挺久的。这次把所有问题做一个总结。PS:UBUNTU和CENTOS我都试着部署了,感觉上来说CENTOS的config配置起来舒服不少。

准备工作

用的是VMWARE 14,centos是centos 7miniamal,网上资源不少,这里就不放了。首先就算是尝试性的建立虚拟机,也一定给4G以上内存,以及两个以上的处理器(不然后面会报错)进去先把net-tools pip这些个人常用的搞好,免得后面打断思路。

正式开始部署

下载docker-ce

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum -y install docker-ce docker-ce-cli containerd.io

启动docker服务

sudo systemctl enable docker
sudo systemctl start docker

启动docker服务

sudo systemctl enable docker
sudo systemctl start docker
sudo docker run hello-world

部署kubeadm

1.国内使用阿里云的源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
enabled=1
EOF

2.关闭selinux (这两步比较简单,自己搜索)
3.swapoff (这里一定要关闭selinux 和swapoff 不然后面初始化error会出问题)
网络参数设置
4.

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

5.初始化kubeadm配置(这一步很重要,不对就会引起init 错误)

kubeadm config print init-defaults > kubeadm.conf

修改kubeadm.conf如下内容

vi kubeadm.conf
advertiseAddress: 10.211.55.8  #虚拟机的ip地址,服务监听地址
#这里填你自己的addr,可以用IP addr命令查看
podSubnet: "10.10.0.0/16" #pod使用的网络cidr,需要与后面的calico podsubnet参数相同
imageRepository: k8s.gcr.io  #替换为: “imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers”

6.初始化kubeadm

kubeadm config print init-defaults > kubeadm.conf

这一步卡了很久,之前config犯的所有错误都会在这一步体现,包括swapoff,selinux,镜像源没配对等等,出错就需要
kubeadm reset -f 然后重新配置config
(这里再补充一句,之前都是用的UBUNTU,问题就是UBUNTU看官方文档下载下来版本是1.17.3,但是国内镜像源组件最高是1.17.0版本的,在wait kubelet boots的时候就会timeout。配置了半天不太行就放弃ubuntu了

7.init成功之后就可以下载calico这些东西了

kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
yum install -y wget
wget https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml
修改calico.yaml中pod网络参数:
vi calico.yaml
    - name: CALICO_IPV4POOL_CIDR
      value: "10.10.0.0/16"
与前面的pod网络对应
kubectl apply -f calico.yaml
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

8.开启!
kubectl taint nodes --all node-role.kubernetes.io/master-
然后就可通过kubectl去查看控制PODS状态了

遇到的一些其他问题

1.花式被墙,找aliyun的镜像源吧…最近emmm不太安生
2.init失败,这个原因太多了,多用journal命令查看原因,然后百度解决。
我遇到的有:
port被占:把之前的k8s删了重来
设置的镜像源pull不到,一定要去imageregister设置
3.K8s的官网给出的安装方案有些细节不适用于天朝,需要手动配置一些网络设置
4.有些pod一开始是pending,集群unready等情况,耐心等等再看,我的pend了几分钟才开始running
5.由于不熟悉纯命令行的OS,传输文件有点麻烦。
看来看去git bash是最好用的
传输格式如下
git中打开需要传输的文件夹
scp xxx.yaml root@192.168.xxx.xxx:~/
输入密码
yes
搞定…
6.最后忘了,一开始发现centos连不了网,查查那个ip addr里面你有IP地址没,如果没有IP
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3(这个enpxxx填你自己的ifcfg后缀)
ONBOOT=no

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值