Kubernetes安装会涉及到:环境以及服务器、还有docker安装、以及Kubernetes安装等等,下面详解Kubernetes安装。
Kubernetes安装环境
1.硬件要求
- 内存:至少2GBRAM;
- CPU: 至少2核CPU;
- 硬盘:至少30GB;
2.操作系统
- 操作系统:Centos7;
3.节点规划
节点 |
配置 |
说明 |
master |
2c 2G |
master 节点 |
k8swork1 |
2c 2G |
work 节点 |
4.配置服务环境
1.配置服务器主机名
# master节点 vi /etc/hostname 设置成 master # work 节点 vi /etc/hostname 设置成 k8swork1
2.关闭防火墙和selinux
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config setenforce 0 systemctl stop firewalld systemctl disable firewalld
3.关闭swap分区
1)临时关闭
swapoff -a
2)永久关闭
sed -ri 's/.*swap.*/#&/' /etc/fstab
4.修改内核参数设置
echo "net.bridge.bridge-nf-call-ip6tables = 1" >>/etc/sysctl.conf echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p
5.仓库配置
cd /etc/yum.repos.d/ mkdir bak mv *.repo bak
备份旧的配置,下载阿里云仓库,下载kubernetes yaml 文件
Docker下载安装
1.Docker老版本卸载
Docker安装之前,需要卸载旧版本,旧版本的 Docker 被叫做 docker 或 docker-engine。
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce
2.安装依赖的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
3.配置Docker源仓库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.安装docker
yum install -y docker
5.设置docker 开机自动启动
systemctl enable docker.service
6.启动docker
service docker restart
Kubernetes下载安装
1.配置Kubernetes源仓库
cat < /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.卸载旧版本
yum remove -y kubelet kubeadm kubectl
3.查看可以安装的版本
yum list kubelet --showduplicates | sort -r
4.安装kubelet、kubeadm、kubectl 指定版本
yum install -y kubelet-1.21.0 kubeadm-1.21.0 kubectl-1.21.0
5.开机启动kubelet
systemctl enable kubelet && systemctl start kubelet
6.开始通过 kubeadm 安装master
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。
创建master 节点,使用:
kubeadm init
比如:我要初始化一个master 节点:
kubeadm init --apiserver-advertise-address=10.170.11.8 --image-repository registry.cn-hangzhou.aliyuncs.com/lansonli_k8s_images --kubernetes-version v1.21.0 --service-cidr=10.96.0.0/16 --pod-network-cidr=192.168.0.0/16
参数说明:
- –apiserver-advertise-address :一般应为master节点的IP地址;
- –kubernetes-version:指定版本;
- –image-repository registry.cn :指定镜像源,这里指定阿里云镜像仓库地址;
- –service-cidr:指定service网络,不能和node网络冲突;
- –pod-network-cidr:指定pod网络,不能和node网络、service网络冲突;
7.初始化 worker 节点
将一个 Node 节点加入到当前集群中,语法:
$ kubeadm join <JLmaster节点的IP和端口>
示例:
kubeadm join 172.24.80.222:6443 --token nz9azl.9bl27pyr4exy2wz4 --discovery-token-ca-cert-hash sha256:4bdc81a83b80f6bdd30bb56225f9013006a45ed423f131ac256ffe16bae73a20
8.验证集群
#获取所有节点 kubectl get nodes
通过以上,说明节点都已经Ready 状态,至此Kubernetes安装就完成了。
mikechen睿哥
mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》