Centos7篇请点击链接访问---->Centos7
目录
前言:
一、系统环境
二、配置源
2.1、配置系统源
2.1.1、备份并查看源配置文件
2.1.2、更改源地址
源站选择
2.2、添加Docker源
2.2.1、写入源文件
2.2.2、更新源列表
首先 安装相关系统工具
第一个方法:
第二个方法:
2.3、配置K8S源
2.3.1、写入源
2.3.2、更新源
三、系统环境配置
3.1、配置内核转发
3.2、主机名修改
3.3、关闭swap
四、服务安装
4.1、安装Docker
4.2、安装kubelet组件(K8S)
五、配置服务
5.1、配置Docker
5.1.1、配置Docker镜像加速地址及驱动
5.1.2、验证镜像加速
5.2、初始化K8S
5.2.1、设置HOSTS映射
5.2.2、初始化master节点
获取K8S版本
获取本机IP地址
验证信息
初始化master节点
解决办法:加配置或者放弃
继续初始化K8S
初始化成功
5.2.3、进阶配置master
应用yaml文件
获取node信息
六、验证服务
6.1、验证节点信息
6.2、验证服务信息
cat /etc/os-release
注意事项:master节点CPU核心最低要求2个
备份源文件
cp /etc/apt/sources.list /etc/apt/sources.list.bak
查看源配置
cat /etc/apt/sources.list #查看原配置文件
此时的配置实际上是我已经改了的,原来的镜像站点地址是debian官网,安装服务的时候比较慢,下面附上替换源的方法。
源配置文件有用的信息主要是下面这些
deb http://mirrors.huaweicloud.com/debian/ buster main
deb-src http://mirrors.huaweicloud.com/debian/ buster main
deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main
deb http://mirrors.huaweicloud.com/debian/ buster-updates main
deb-src http://mirrors.huaweicloud.com/debian/ buster-updates main
我们能做的只有URL的替换,其他参数不要改,国内比较好用的源加速站点有:
1、阿里源
2、清华源
3、腾讯源
4、华为源(ARM资源比较多)
5、网易源
因为当前已经是华为源了,所以下面就以比较常用的阿里源进行更换。
https://developer.aliyun.com/mirror/debian #打开这个网址
提取这个mirrors地址,把华为的换成阿里的mirrors,在替换之前,先测试当前源是否可以用
从图中看看出,遇到debian官方的源更新的时候,网速会非常慢。下面直接替换所有的源为阿里源
rm -f /etc/apt/sources.list #删除源配置文件
echo 'deb http://mirrors.aliyun.com/debian/ buster main
deb-src http://mirrors.aliyun.com/debian/ buster main
deb http://mirrors.aliyun.com/debian-security buster/updates main
deb-src http://mirrors.aliyun.com/debian-security buster/updates main
deb http://mirrors.aliyun.com/debian/ buster-updates main
deb-src http://mirrors.aliyun.com/debian/ buster-updates main
' > /etc/apt/sources.list
更新源配置
apt-get update
Sources_URL='https://mirrors.aliyun.com';echo -e "# deb-src [arch=amd64] ${Sources_URL}/docker-ce/linux/debian buster stable\ndeb [arch=amd64] ${Sources_URL}/docker-ce/linux/debian buster stable\n# deb-src [arch=amd64] ${Sources_URL}/docker-ce/linux/debian buster stable" > /etc/apt/sources.list.d/docker.list
cat /etc/apt/sources.list.d/docker.list #查看源配置参数
apt update
此时遇到错误,提示没有公钥,解决办法有两个:
apt-get install apt-transport-https ca-certificates curl gnupg2 lsb-release software-properties-common -y
Sources_URL='https://mirrors.aliyun.com'
curl ${Sources_URL}/kubernetes/apt/doc/apt-key.gpg | apt-key add -
复制下面这个值(这个值好像是随机的)
然后执行语句(也就是把最后一个数值改成没有公钥的数值)
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
反正第一个不行就第二个。 添加完成之后,再次更新源列表
此时,Docker源已经配置成功了。
通过docker源的配置,那么K8S的源配置就不多说了。
echo -e "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list
到这里,源配置就完成了。
写入转发配置参数
echo -e "net.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1" > /etc/sysctl.conf
应用转发配置
sysctl --system
本节点的规划是Master节点,所以在这里我的主机名就命名为master
hostnamectl set-hostname master
swapoff -a #临时关闭
sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab #永久
apt-get install -y docker-ce
安装完成之后,启动服务,查看docker版本信息
systemctl restart docker
docker info
apt-get install -y kubelet kubeadm kubectl
启动K8S服务并查看版本信息
systemctl start kubelet
kubeadm version
到这里,服务就安装完成了。
echo -e "{\n\t\"exec-opts\": [\"native.cgroupdriver=systemd\"],\n\t\"registry-mirrors\": [\"http://hub-mirror.c.163.com\"]\n}" > /etc/docker/daemon.json
cat /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker
docker info
首先查看本机IP地址信息
写入映射参数
echo '10.1.1.6 master' >> /etc/hosts
查看映射表
cat /etc/hosts
ver=`kubeadm version|awk '{print $5}'|sed "s/[^0-9|\.]//g"|awk 'NR==1{print}'`
ip=`cat /etc/hosts|grep master|awk '{print $1}'|awk 'NR==1{print}'`
echo -e "k8s version is v${ver}\nmaster ip is ${ip}"
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
kubeadm init --apiserver-advertise-address=${ip} \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v${ver} \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
如果CPU数量不足,会提示错误,无法初始化
增加CPU核心之后,需要重启虚拟机
重启之后,查看CPU信息
kubeadm init --apiserver-advertise-address=${ip} --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v${ver} --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
根据提示信息,执行下面的命令
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://xypj-1252147235.cos.ap-guangzhou.myqcloud.com/kube-flannel.yaml
kubectl get nodes
kubectl get nodes
节点状态必须是ready才是成功的
kubectl get pod -n kube-system
所有服务都要running中才行