kubernetesa安装--19.13.0版本

1.安装前准备工作

设定时钟同步
yum install chrony -y
systemctl start chronyd.service
systemctl enable chronyd.service

主机名称解析
关闭防火墙
systemctl stop firewalld.service
systemctl enable firewalld.service

关闭禁用selinux

禁止Swap
free -m 查看一下
vim /etc/fstab
注释掉swap那行

启用ipvs模块
vim /etc/sysconfig/modules/ipvs.modules
#!/bin/bash
ipvs_mods_dir="/usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs"
for mod in $(ls $ipvs_mods_dir | grep -o "^[^.]*"); do
/sbin/modinfo -F filename $mod &> /dev/null
if [ $? -eq 0 ]; then
/sbin/modprobe $mod
fi
done
修改权限
chmod +x /etc/sysconfig/modules/ipvs.modules
执行
bash /etc/sysconfig/modules/ipvs.modules


安装docker
wget https://mirrors.aliyun.com/docker-ce/linux/centos/
cd /etc/yum.repos.d/
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce
修改docker启动文件
vim /usr/lib/systemd/system/docker.service
添加如下内容:
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT

systemctl daemon-reload
systemctl start docker
systemctl enable docker
systemctl status docker

修改docker的docker info 中cgroup
创建文件
vim /etc/docker/daemon.json

{ "exec-opts": ["native.cgroupdriver=systemd"] }


重启服务
systemctl restart docker


sysctl -a | grep bridge 查看是否有3个1

没有就设置:

sysctl -w net.bridge.bridge-nf-call-iptables=1
sysctl -w net.bridge.bridge-nf-call-ip6tables=1
sysctl -w net.bridge.bridge-nf-call-arptables=1


开始安装kubernetes包
vim kubernetes.repo
[kubernetes]
name=Kubernetes Repository
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg


yum repolist 检查一下

yum list all | grep "^kube"

安装指定版本
yum install kubelet-1.19.0 kubectl-1.19.0 kubeadm-1.19.0 -y


禁止swap
vim /etc/sysconfig/kubelet
内容为KUBELET_EXTRA_ARGS="--fail-swap-on=false"

 

 

下面是master节点操作

kubeadm config images list #通过该命令查看所需要的镜像版本

k8s.gcr.io/kube-apiserver:v1.19.13
k8s.gcr.io/kube-controller-manager:v1.19.13
k8s.gcr.io/kube-scheduler:v1.19.13
k8s.gcr.io/kube-proxy:v1.19.13
k8s.gcr.io/pause:3.2
k8s.gcr.io/etcd:3.4.9-1
k8s.gcr.io/coredns:1.7.0


通过阿里云仓库下载该版本镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.19.13
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.19.13
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.19.13
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.19.13
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.9-1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0

下载好的镜像如下:
[root@k8s-master01 yum.repos.d]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy v1.19.13 046ec6b49f0b 3 weeks ago 98.9MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver v1.19.13 76696340d799 3 weeks ago 119MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager v1.19.13 90f4ff69a0bf 3 weeks ago 111MB
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler v1.19.13 35036a0cd23a 3 weeks ago 46.5MB
registry.cn-hangzhou.aliyuncs.com/google_containers/etcd 3.4.9-1 d4ca8726196c 13 months ago 253MB
registry.cn-hangzhou.aliyuncs.com/google_containers/coredns 1.7.0 bfe3a36ebd25 13 months ago 45.2MB
registry.cn-hangzhou.aliyuncs.com/google_containers/pause 3.2 80d28bedfe5d 18 months ago 683kB


打标签:
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.19.13 k8s.gcr.io/kube-proxy:v1.19.13
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.19.13 k8s.gcr.io/kube-apiserver:v1.19.13
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.19.13 k8s.gcr.io/kube-controller-manager:v1.19.13
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.19.13 k8s.gcr.io/kube-scheduler:v1.19.13
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.9-1 k8s.gcr.io/etcd:3.4.9-1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0 k8s.gcr.io/coredns:1.7.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2


初始化master
kubeadm init --kubernetes-version="v1.19.13" --pod-network-cidr="10.244.0.0/16" --ignore-preflight-errors=swap

结尾出现的内容如下:需要记下来,等会node加入需要
kubeadm join  masterIP:6443 --token 0seu7l.d9ua3hsrq545f9th \
--discovery-token-ca-cert-hash sha256:94767798f3107814776cd8137a7670391892d921925c0c1bf772240cee173a92

 这个加入token24小时就过期

过期之后需要重新生成

kuberadm  token  create  :生成token

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'  生成ca的sha256 hash值

初始化后续步骤

cd   到家目录
mkdir  .kube
cp   /etc/kubernetes/admin.conf    .kube/config

scp  /etc/kubernetes/admin.conf   nodeIP:.kube/config    分发文件到node节点,命名为config

 

查看集群状态
kubectl get nodes
状态是Notready(未就绪)
因为没有安装网络插件


安装flannel插件
输入如下命令会自己去拉去flannel镜像
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

然后输入命令查看flannel镜像是否获取完成
kubectl get pod -n kube-system
结果是:
[root@k8s-master01 ~]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-f9fd979d6-tgrl9 0/1 Pending 0 5m8s
coredns-f9fd979d6-xch4z 0/1 Pending 0 5m8s
etcd-k8s-master01 1/1 Running 0 5m19s
kube-apiserver-k8s-master01 1/1 Running 0 5m19s
kube-controller-manager-k8s-master01 1/1 Running 0 5m19s
kube-flannel-ds-ctrph 0/1 Init:0/1 0 3m30s
kube-proxy-df6s2 1/1 Running 0 5m7s
kube-scheduler-k8s-master01 1/1 Running 0 5m19s

好几分钟过去还是这样,说明镜像拉取不了
kubectl describe pod kube-flannel-ds-ctrph -n kube-system
查看 pod
结果是:

Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 13m default-scheduler Successfully assigned kube-system/kube-flannel-ds-ctrph to k8s-master01
Warning Failed 6m50s kubelet, k8s-master01 Failed to pull image "quay.io/coreos/flannel:v0.14.0": rpc error: code = Unknown desc = context canceled
Warning Failed 6m50s kubelet, k8s-master01 Error: ErrImagePull
Normal BackOff 6m50s kubelet, k8s-master01 Back-off pulling image "quay.io/coreos/flannel:v0.14.0"
Warning Failed 6m50s kubelet, k8s-master01 Error: ImagePullBackOff
Normal Pulling 6m35s (x2 over 13m) kubelet, k8s-master01 Pulling image "quay.io/coreos/flannel:v0.14.0"


得到flannel版本信息
开始下载
[root@k8s-master01 ~]# docker pull quay.io/coreos/flannel:v0.14.0
v0.14.0: Pulling from coreos/flannel
801bfaa63ef2: Pull complete
e4264a7179f6: Pull complete
bc75ea45ad2e: Pull complete
78648579d12a: Pull complete
3393447261e4: Pull complete
071b96dd834b: Pull complete
4de2f0468a91: Pull complete
Digest: sha256:4a330b2f2e74046e493b2edc30d61fdebbdddaaedcb32d62736f25be8d3c64d5
Status: Downloaded newer image for quay.io/coreos/flannel:v0.14.0
quay.io/coreos/flannel:v0.14.0

查看flannel状态
[root@k8s-master01 ~]# kubectl get pod -n kube-system | grep flannel
kube-flannel-ds-ctrph 1/1 Running 0 31m

查看nodes信息状态
[root@k8s-master01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready master 33m v1.19.0


到此master部署完成

 

 

 

下面node节点部署

 

通过阿里云仓库下载该版本镜像(node节点只需要3个镜像,下面2个加上flannel镜像)

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.19.13
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2

 

下载好的镜像如下:
[root@k8s-master01 yum.repos.d]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy v1.19.13 046ec6b49f0b 3 weeks ago 98.9MB
registry.cn-hangzhou.aliyuncs.com/google_containers/pause 3.2 80d28bedfe5d 18 months ago 683kB


打标签:
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.19.13 k8s.gcr.io/kube-proxy:v1.19.13
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2

创建目录
mkdir .kube

在master节点通过scp分发文件

scp /etc/kubernetes/admin.conf   nodeIP:.kube/config
安装flannel插件
输入如下命令会自己去拉去flannel镜像
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

输入命令查看flannel镜像是否获取完成
kubectl get pod -n kube-system
结果是:
[root@k8s-master01 ~]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE

coredns-f9fd979d6-ghms4 1/1 Running 0 27h
coredns-f9fd979d6-grd9d 1/1 Running 0 27h
etcd-k8s-master01 1/1 Running 0 27h
kube-apiserver-k8s-master01 1/1 Running 0 27h
kube-controller-manager-k8s-master01 1/1 Running 0 27h
kube-flannel-ds-mqkv2 1/1 Running 0 38m
kube-flannel-ds-nhst8 1/1 Running 0 38m
kube-flannel-ds-pgxs5 1/1 Running 0 38m
kube-proxy-7n9t5 1/1 Running 0 46m
kube-proxy-l429p 1/1 Running 0 27h
kube-proxy-wdfr4 1/1 Running 0 45m
kube-scheduler-k8s-master01 1/1 Running 0 27h



好几分钟过去还是这样,说明镜像拉取不了
kubectl describe pod kube-flannel-ds-ctrph -n kube-system
查看 pod
结果是:

Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 13m default-scheduler Successfully assigned kube-system/kube-flannel-ds-ctrph to k8s-master01
Warning Failed 6m50s kubelet, k8s-master01 Failed to pull image "quay.io/coreos/flannel:v0.14.0": rpc error: code = Unknown desc = context canceled
Warning Failed 6m50s kubelet, k8s-master01 Error: ErrImagePull
Normal BackOff 6m50s kubelet, k8s-master01 Back-off pulling image "quay.io/coreos/flannel:v0.14.0"
Warning Failed 6m50s kubelet, k8s-master01 Error: ImagePullBackOff
Normal Pulling 6m35s (x2 over 13m) kubelet, k8s-master01 Pulling image "quay.io/coreos/flannel:v0.14.0"


得到flannel版本信息
开始下载
[root@k8s-master01 ~]# docker pull quay.io/coreos/flannel:v0.14.0
v0.14.0: Pulling from coreos/flannel
801bfaa63ef2: Pull complete
e4264a7179f6: Pull complete
bc75ea45ad2e: Pull complete
78648579d12a: Pull complete
3393447261e4: Pull complete
071b96dd834b: Pull complete
4de2f0468a91: Pull complete
Digest: sha256:4a330b2f2e74046e493b2edc30d61fdebbdddaaedcb32d62736f25be8d3c64d5
Status: Downloaded newer image for quay.io/coreos/flannel:v0.14.0
quay.io/coreos/flannel:v0.14.0

 

 

最后在master节点查看

kubectl  get  nodes

[root@k8s-master01 ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready master 27h v1.19.0
k8s-node01 Ready <none> 47m v1.19.0
k8s-node02 Ready <none> 47m v1.19.0

posted @ 2021-08-12 21:09  拥抱大海,面向天空  阅读(206)  评论(0)    收藏  举报