centos部署k8s集群(详细)

1,准备服务器
三台:(资源有限,最好准备五台及以上)
192.168.0.183 node1
192.168.0.220 node2
192.168.0.9 master
2,基本环境配置
以下三台节点均操作
(2.1)关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

(2.2)关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config 
setenforce 0

(2.3)关闭swap

swapoff -a  # 临时
sed -i 's/.*swap.*/#&/' /etc/fstab  # 永久

(2.4)修改主机名
192.168.0.9

hostnamectl set-hostname master && bash

192.168.0.183

hostnamectl set-hostname node1 && bash

192.168.0.220

hostnamectl set-hostname node2 && bash

(2.5)修改host文件
ip根据自身实际情况修改
vi /etc/hosts
192.168.0.9 master
192.168.0.183 node1
192.168.0.220 node2
(2.6)配置源
配置国内yum源:

 yum install -y wget
 mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
 wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
 yum clean all && yum makecache

(2.7)配置kubenetes yum源

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

(2.8)所有设备均执行如下命令
二.安装docker和kube组件
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0 docker-ce

设置开机自启
systemctl enable docker
systemctl enable kubelet

3,开始部署
(3.1)开启docker和kubelet(所有节点)

systemctl start docker
systemctl start kubelet

(3.2)下载所需镜像(所有节点)

docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0 
docker pull mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0 
docker pull mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0 
docker pull mirrorgooglecontainers/kube-proxy-amd64:v1.15.0 
docker pull mirrorgooglecontainers/pause:3.1 
docker pull mirrorgooglecontainers/etcd:3.3.10 
docker pull coredns/coredns:1.3.1 

(3.3)镜像打标

docker tag docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0 k8s.gcr.io/kube-apiserver:v1.15.0 
docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0 k8s.gcr.io/kube-scheduler:v1.15.0 
docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0 k8s.gcr.io/kube-controller-manager:v1.15.0 
docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.15.0  k8s.gcr.io/kube-proxy:v1.15.0
docker tag mirrorgooglecontainers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10 
docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1 
docker tag coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

(3.4) 忽略swap报错

vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"

(3.5)初始化master(只做master节点)安装
#指定版本,忽略swap和cpu报错
#10.244.0.0/16为pod网络

 kubeadm init  --kubernetes-version=v1.15.0 --ignore-preflight-errors=Swap  --ignore-preflight-errors=Numcpu --pod-network-cidr 10.244.0.0/16

初始化集群出错时,需要所有节点清掉这些数据.可用以下命令

kubeadm reset
systemctl stop kubelet
docker rm -f -v $(docker ps  -a -q)
rm -rf /etc/kubernetes
rm -rf  /var/lib/etcd
rm -rf   /var/lib/kubelet
rm -rf  $HOME/.kube/config
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
yum reinstall -y kubelet
systemctl daemon-reload
systemctl restart docker

(3.6)kubectl 客户端用户配置文件配置

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

(3.7)安装flannel网络

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

(3.8)加入节点
加入master(在node节点执行)
复制master节点刚才输出的token(在两个节点分别执行)

kubeadm join 192.168.0.9:6443 --token 9vw89k.soeuvfsuxyhk9l64 \
    --discovery-token-ca-cert-hash sha256:a79d73462e1df3bcb93eaf7a8edb34c227c1f2b2846b9391945fd81322409cb8 --ignore-preflight-errors=all

(3.9)查看集群状态

kubectl get nodes && kubectl get cs
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值