#建议:先全部在一台master上执行完成集群的安装,最后node节点再加入集群
#硬件环境的要求: cpu:2c memory:4G/2G #软件环境的要求: 三天
docker环境准备
准备3台虚拟机(centos-8.2)并运行以下脚本:
新建 脚本文件
#!/bin/bash
#解决依赖关系
yum install -y yum-utils zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make psmisc lsof net-tools vim python3#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld#关闭selinux
setenforce 0 #临时关闭
#永久关闭
sed -i '/^SELINUX/ s/enforcing/disabled/' /etc/selinux/config
安装docker
卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装yum-utils软件包(提供yum-config-manager 实用程序),配置加速源
yum install -y yum-utils
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker,设置开机自启
yum install -y docker-ce docker-ce-cli containerd.io #安装docker
systemctl start docker #启动docker
systemctl enable docker #设置docker自启动
配置 Docker使用systemd作为默认Cgroup驱动
每台服务器上都要操作,master和node上都要操作
cat <<EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF#重启docker
systemctl restart docker
关闭swap分区
每台服务器都需要操作
swapoff -a # 临时 vim /etc/fstab 永久 #sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab #对这条语句进行注释 就是前面加个#号
重新命名主机,在所有主机上上添加如下命令,修改hosts文件
hostnamectl set-hostname master hostnamectl set-hostname node1 hostnamectl set-hostname node2
修改主机名后使用su - root重新登陆
每台机器上的/etc/hosts文件都需要修改
su - root cat >> /etc/hosts << EOF 192.168.10.133 master 192.168.10.132 node1 192.168.10.134 node2 192.168.10.135 node3 EOF
安装kubeadm,kubelet和kubectl
kubeadm --》k8s的管理程序--》在master上运行的--》建立整个k8s集群,背后是执行了大量的脚本,帮助我们去启动k8s
kubelet --》在node节点上用来管理容器的--》管理docker,告诉docker程序去启动容器 master和node通信用的--》管理docker,告诉docker程序去启动容器 一个在集群中每个节点(node)上运行的代理。 它保证容器(containers)都 运行在 Pod 中。
kubectl --》在master上用来给node节点发号施令的程序,用来控制node节点的,告诉它们做什么事情的,是命令行操作的工具
集群里的每台服务器都需要安装 # 添加kubernetes YUM软件源 cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF #==== ubuntu里修改源,使用阿里云的源,参考文档 https://blog.youkuaiyun.com/wangyijieonline/article/details/105360138 #===ubuntu系统里 安装kubelet,kubeadm,kubectl 添加apt key以及源(所有主机) #下载相关软件 sudo apt update && sudo apt install -y apt-transport-https curl #下载apt-key.gpg curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - #添加k8s的阿里云的源 echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >>/etc/apt/sources.list.d/kubernetes.list sudo apt update apt install -y kubelet kubeadm kubectl systemctl enable --now kubelet #===centos里执行 #安装kubeadm,kubelet和kubectl yum install -y kubelet kubeadm kubectl #设置开机自启 systemctl enable kubelet
master主机执行
部署Kubernetes Master
# 部署Kubernetes Master
#提前准备coredns:1.8.4的镜像,后面需要使用,需要在每台机器上下载镜像
[root@master ~]# docker pull coredns/coredns:1.8.4
[root@master ~]# docker tag coredns/coredns:1.8.4 registry.aliyuncs.com/google_containers/coredns:v1.8.4#初始化操作在master服务器上执行
[root@master ~]#kubeadm init \
--apiserver-advertise-address=192.168.10.133 \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
#192.168.0.17 是master的ip
# --service-cidr string Use alternative range of IP address for service VIPs. (default "10.96.0.0/12")
# --pod-network-cidr string Specify range of IP addresses for the pod network. If set, the control plane will automatically allocate CIDRs for every node.
输出结果
[addons] Applied essential addon: CoreDNS
[addons] Applied essential addon: kube-proxy
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
&

最低0.47元/天 解锁文章
1620

被折叠的 条评论
为什么被折叠?



