k8s集群式部署

k8s集群式部署

我的配置环境是四台centos7 master2核4g 三台node2核2g
网络: 每台vm主机2块网卡,一块NAT用于上网,别一块配置成 “仅主机模式”,网段为192.168.255.xx
k8s:1.16.2
docker:18.09

以下在所有节点都要做

首先配置hosts

vi /etc/hosts

192.168.255.40 master
192.168.255.36 node1
192.168.255.37 node2
192.168.255.39 node3

保障都能ping通

关防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

setenforce 0

开启透明网桥

echo “net.bridge.bridge-nf-call-iptables=1” >> /etc/sysctl.conf
echo “net.bridge.bridge-nf-call-ip6tables=1” >> /etc/sysctl.conf
systctl -p

配置docker yum源

wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

配置k8s yum源(我用的是aliyun的yum源)

链接点此
vi /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enable=1

配置k8s yum密钥

wget -q https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
wget -q https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import yum-key.gpg
rpm --import rpm-package-key.gpg

更新yum下载所需软件 (docker我建议指定版本安装 因为k8s版本不同也要求docker版本不同)

yum update
yum remove docker docker-common docker-selinux docker-engin
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

下载docker

yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.09.7
启动docker
systemctl start docker
systemctl enable docker
systemctl daemon-reload
service docker restart

安装kubelet kubeadm kubectl

yum install kubelet kubeadm kubectl

以下在master节点

初始化k8s

systemctl enable kubelet
因为k8s.gcr.io访问不了,手动下载docker镜像并修改tag

docker pull mirrorgooglecontainers/kube-apiserver:v1.16.2 #替代docker pull k8s.gcr.io/kube-apiserver:v1.16.2
docker tag mirrorgooglecontainers/kube-apiserver:v1.16.2 k8s.gcr.io/kube-apiserver:v1.16.2

docker pull mirrorgooglecontainers/kube-controller-manager:v1.16.2 #替代docker pull k8s.gcr.io/kube-controller-manager:v1.16.2
docker tag mirrorgooglecontainers/kube-controller-manager:v1.16.2 k8s.gcr.io/kube-controller-manager:v1.16.2

docker pull mirrorgooglecontainers/kube-scheduler:v1.16.2 #替代docker pull k8s.gcr.io/kube-scheduler:v1.16.2
docker tag mirrorgooglecontainers/kube-scheduler:v1.16.2 k8s.gcr.io/kube-scheduler:v1.16.2

docker pull mirrorgooglecontainers/kube-proxy:v1.16.2 #替代docker pull k8s.gcr.io/kube-proxy:v1.16.2
docker tag mirrorgooglecontainers/kube-proxy:v1.16.2 k8s.gcr.io/kube-proxy:v1.16.2

docker pull mirrorgooglecontainers/pause:3.1 #替代docker pull k8s.gcr.io/pause:3.1
docker tag mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1

docker pull mirrorgooglecontainers/etcd:3.3.15-0 #替代docker pull k8s.gcr.io/etcd:3.3.15-0
docker tag mirrorgooglecontainers/etcd:3.3.15-0 k8s.gcr.io/etcd:3.3.15-0

docker pull coredns/coredns:1.6.2 #替代docker pull k8s.gcr.io/coredns:1.6.2
docker tag coredns/coredns:1.6.2 k8s.gcr.io/coredns:1.6.2

kubeadm init --kubernetes-version=v1.16.2 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=192.168.255.33 --ignore-preflight-errors=Swap

安装flannel网络(参照官方文档)

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

检查k8s是否正常启动

kubectl get pods -n kube-system

kubectl get nodes
在这里插入图片描述
到此k8s部署完成

发布了10 篇原创文章 · 获赞 16 · 访问量 947

猜你喜欢

转载自blog.csdn.net/qq_43519542/article/details/103482460