k8s系列(二:部署)kubernetes安装配置
每个节点上都要装docker、k8skubernetes系统由一组可执行程序组成CentOS7为例关闭防火墙systemctl disable firewalld.servicesystemctl disable iptables.servicesystemctl stop iptables.servicesystemctl stop firewalld.service...
每个节点上都要装docker、k8s
kubernetes系统由一组可执行程序组成
CentOS7为例
关闭防火墙
systemctl disable firewalld.service
systemctl disable iptables.service
systemctl stop iptables.service
systemctl stop firewalld.service
禁用SELinux
修改完之后reboot重启
用getenforce查看
同步时间systemctl restart chronyd
禁用交换分区
swapoff -a
# 永久禁用
vi /etc/fstab
##注释swap那一行
修改 /etc/hosts(同步其他节点 scp /etc/hosts 192.168.88.109:/etc/hosts
)
vi /etc/hosts
192.168.88.113 node2
192.168.88.109 node1
192.168.88.104 master7
安装docker参照https://blog.csdn.net/xopqaaa/article/details/89845166
安装完之后配置docker(docker.service这个同步到其他节点scp /usr/lib/systemd/system/docker.service 192.168.88.113:/usr/lib/systemd/system/docker.service
)
先用which iptables命令查找路径
[root@master ~]# vim /usr/lib/systemd/system/docker.service
加上:ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT
启动docker
systemctl daemon-reload
systemctl restart docker
docker info
安装kubernetes和相关工具先配置yam源编辑vi /etc/yum.repos.d/kubernetes.repo(repo包同步到其他节点上 scp /etc/yum.repos.d/kubernetes.repo 192.168.88.109:/etc/yum.repos.d/kubernetes.repo)
[kubernetes]
name=Kubernetes Repository
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
执行安装命令yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
启动docker、kubelet并设置为开机自启动
镜像加速加入Registry Mirror参数(同步到其他节点scp /etc/docker/daemon.json 192.168.88.113:/etc/docker/daemon.json
)
echo '{"registry-mirrors":["https://registry.docker-cn.com"]}'>/etc/docker/daemon.json
重启docker
systemctl daemon-reload
systemctl restart docker
设置Swap(同步到其他节点scp /etc/sysconfig/kubelet 192.168.88.109:/etc/sysconfig/kubelet)
查看kubeadm配置版本要求
编辑下载master镜像脚本文件(节点上不用执行此步直接跳到安装网络插件即可)
vi kubeadm.sh
#!/bin/bash
set -e
KUBE_VERSION=v1.16.3
KUBE_PAUSE_VERSION=3.1
ETCD_VERSION=3.3.15-0
CORE_DNS_VERSION=1.6.2
GCR_URL=k8s.gcr.io
ALIYUN_URL=registry.cn-hangzhou.aliyuncs.com/google_containers
images=(kube-proxy:${KUBE_VERSION}
kube-scheduler:${KUBE_VERSION}
kube-controller-manager:${KUBE_VERSION}
kube-apiserver:${KUBE_VERSION}
pause:${KUBE_PAUSE_VERSION}
etcd:${ETCD_VERSION}
coredns:${CORE_DNS_VERSION})
for imageName in ${images[@]}; do
docker pull $ALIYUN_URL/$imageName
docker tag $ALIYUN_URL/$imageName $GCR_URL/$imageName
docker rmi $ALIYUN_URL/$imageName
done
执行脚本sh ./kubeadm.sh
查看镜像docker images
开始初始化master
sudo kubeadm init \
--apiserver-advertise-address 192.168.88.104 \
--kubernetes-version=v1.16.3 \
--pod-network-cidr=10.244.0.0/16
完成
执行这几步
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装网络插件
下载flannel配置文件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
编辑脚本下载国内源,关于flannel的版本可以在配置文件中查到
#!/bin/bash
set -e
FLANNEL_VERSION=v0.11.0
# 在这里修改源
QUAY_URL=quay.io/coreos
QINIU_URL=quay-mirror.qiniu.com/coreos
images=(flannel:${FLANNEL_VERSION}-amd64
flannel:${FLANNEL_VERSION}-arm64
flannel:${FLANNEL_VERSION}-arm
flannel:${FLANNEL_VERSION}-ppc64le
flannel:${FLANNEL_VERSION}-s390x)
for imageName in ${images[@]} ; do
docker pull $QINIU_URL/$imageName
docker tag $QINIU_URL/$imageName $QUAY_URL/$imageName
docker rmi $QINIU_URL/$imageName
done
执行下载镜像脚本
sh flanneld.sh
{{{忽略
执行安装flanneld访问https://github.com/coreos
拷贝命令执行
}}}
直接运行下载的配置文件进行安装
kubectl apply -f kube-flannel.yml
此时看到master已经Ready
将k8s.gcr.io/kube-proxy 、k8s.gcr.io/pause 两个镜像打包拷贝到其他节点
导出镜像
将flanneld的下载镜像的脚本复制到其他节点
在节点上执行flanneld脚本下载镜像脚本
sh flanneld.sh
查看镜像
现在其他节点所需要的镜像都有了,执行join命令加入master就可以了
token过了24小时就会过期,这里需要重新生成,没过24小时的话,直接复制初始化master时的命令就可以
重新生成token kubeadm token create
获取ca证书sha256编码hash值
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
在节点上执行加入命令
在master上验证
在节点上家目录下创建.kube目录
复制配置文件到指定目录下
现在节点也可使用kubectl命令
更多推荐
所有评论(0)