2020-06-26 CentOs minimal 安装k8s

2020-06-27  本文已影响0人  俊果果

一、虚拟机安装系统

1、下载镜像文件

http://mirror.sfo12.us.leaseweb.net/centos/7.8.2003/isos/x86_64/

image.png

二、VMWare新建虚拟机并安装该系统

三、系统配置

1、开启网卡

vi /etc/sysconfig/network-scripts/ifcfg-ens33
#下面的值从no改为yes
ONBOOT=yes
#保存后重启

2、安装 net-tools包

yum install net-tools

安装完成后执行命令ifconfig可以看到如下网络信息:

image.png

3、用xshell连接

yum install vim
image.png

4、关闭SElinux

# 临时方法 – 设置系统参数
setenforce 0
# 永久方法 – 需要重启服务器
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
# 修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器

5、关闭防火墙 & 其他

# 关闭并禁用防火墙
systemctl stop firewalld & systemctl disable firewalld
# 禁用swap
swapoff -a && sysctl -w vm.swappiness=0  # 临时关闭swap
sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab  # 取消开机挂载swap
# 校正时间
yum install -y ntp
ntpdate cn.pool.ntp.org

6、配置内核参数,将桥接的IPv4流量传递到iptables的链

对于 RHEL/CentOS 7 系统,可以会由于 iptables 被绕过导致网络请求被错误的路由。所以还需执行如下命令保证 sysctl 配置中 net.bridge.bridge-nf-call-iptables 被设为1。

vi /etc/sysctl.conf
#添加以下内容,保存退出
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
#然后执行命令
sysctl --system

7、安装docker

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum install docker-ce docker-ce-cli containerd.io
systemctl enable docker
systemctl start docker
docker -v
image.png
vi /etc/docker/daemon.json
#输入以下内容并保存
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com"
]
}

四、安装Kubernetes

1、配置源

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

2、安装kubelet kubeadm kubectl

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable kubelet && systemctl start kubelet
image.png

3、克隆一个虚拟机


文章参考:

五、节点配置

1、配置host

#在centos-master执行
hostnamectl set-hostname centos-master
cat <<EOF >>/etc/hosts
127.0.0.1 centos-master
EOF
#在centos-node执行
hostnamectl set-hostname centos-node
cat <<EOF >>/etc/hosts
127.0.0.1 centos-node
EOF

确保结果类似下面:

vim /etc/hosts
image.png

1、master初始化

注意--pod-network-cidr=10.244.0.0/16 是 k8s 的网络插件所需要用到的配置信息,用来给 node 分配子网段。然后我们这边用到的网络插件是 flannel,就是这么配。

kubeadm init \
    --image-repository registry.aliyuncs.com/google_containers \
    --pod-network-cidr=10.244.0.0/16 \
    --ignore-preflight-errors=cri \
    --kubernetes-version=1.18.1
kubectl version
image.png

2、master配置

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

3、node添加到master集群

kubeadm join 192.168.32.129:6443 --token e88n8t.qvxf9exn5r8dswvj     --discovery-token-ca-cert-hash sha256:30d1153fae6a4892819e508fa8483e9047c3a405e55c28436de5c358bf015eaa
kubeadm token create --print-join-command
kubectl get nodes
image.png

4、添加网络插件

参考文章flannel github page

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

5、NotReady问题排查

kubectl get nodes node还是不正常运行????

kubectl taint nodes --all node-role.kubernetes.io/master-

6、失败重置

若部署失败,用以下命令重置

kubeadm reset
rm -rf $home/.kube
#剔除节点
kubectl drain centos-node --delete-local-data --ignore-daemonsets
kubectl delete node centos-node
kubeadm reset
systemctl daemon-reload
systemctl restart kubelet
rm -rf /etc/cni/net.d
 rm -rf $home/.kube
上一篇 下一篇

猜你喜欢

热点阅读