环境
三台centos7系统
192.168.72.128 master
192.168.72.129 node1
192.168.72.132 node2
master和node节点上的操作
1 时间同步
ntpdate pool.ntp.date
2 关闭防火前和selinux
systemctl stop firewalld
setenforce 0
3 更改主机名称
hostname master(master上操作)
hostname node1(node1上操作)
hostname node2(node2上操作)
4 更改 /etc/hosts文件(每个机器都得做,内容一样)
vim /etc/hosts/
192.168.72.128 master
192.168.72.129 node1
192.168.72.132 node2
5 安装docker
上传docker.repo或者
yum -y install yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 然后再进行安装
安装指定版本
yum -y install docker-ce-18.09.7 docker-ce-cli-18.09.7 containerd.io
查看版本 docker --version
启动并设置开机自启
systemctl start docker
sysetmctl enable docker
设置加速
vim /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
重启docker systemctl restart docker
docker info |grep Cgroup
Cgroup Driver: systemd
6 安装kubeadm
(1)配置kubenetes的yum仓库(这里使用阿里云仓库)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7- x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
# yum makecache
(2)安装kubelat、kubectl、kubeadm
yum -y install kubelet-1.15.2 kubeadm-1.15.2 kubectl-1.15.2
查看安装是否成功 rpm -aq kubelet kubectl kubeadm
kubectl-1.15.2-0.x86_64
kubelet-1.15.2-0.x86_64
kubeadm-1.15.2-0.x86_64
(3)将kubelet加入开机启动,
这里刚安装完成不能直接启动。(因为目前还没有集群还没有建立)
systemctl enable kubelet
初始化Master(在master节点执行)
通过kubeadm --help帮助手册,可以看到可以通过kubeadm init初始化一个master节点
,然后再通过kubeadm join将一个node节点加入到集群中。
[root@master ~]# cat /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
## 开始进行初始化
[root@master ~]# kubeadm init --kubernetes-version=v1.15.2 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
......
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.72.128:6443 --token damed3.0ow9o2c5sbw4xa3d \
--discovery-token-ca-cert-hash sha256:6609879475365b92ee1d98d2cf187ff4add2e6ae9e0b3eed869036cb51ff17ce
看到此界面,初始化成功,开始进行下一步操作
操作都可已在上边的初始化结果中找到,直接复制粘贴即可
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
[root@master ~]# docker image ls #初始化完成后可以看到所需镜像也拉取下来了
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.aliyuncs.com/google_containers/kube-apiserver v1.15.2 34a53be6c9a7 15 months ago 207MB
registry.aliyuncs.com/google_containers/kube-controller-manager v1.15.2 9f5df470155d 15 months ago 159MB
registry.aliyuncs.com/google_containers/kube-scheduler v1.15.2 88fa9cb27bd2 15 months ago 81.1MB
registry.aliyuncs.com/google_containers/kube-proxy v1.15.2 167bbf6c9338 15 months ago 82.4MB
registry.aliyuncs.com/google_containers/coredns 1.3.1 eb516548c180 22 months ago 40.3MB
registry.aliyuncs.com/google_containers/etcd 3.3.10 2c4adeb21b4f 23 months ago 258MB
registry.aliyuncs.com/google_containers/pause 3.1 da86e6ba6ca1 2 years ago 742kB
添加flannel网络组件,把kube-flannel.yml文件放到/root目录下
kubectl apply -f kube-flannel.yml
//验证flannel网络插件是否部署成功(Running即为成功)
[root@master ~]# kubectl get pods -n kube-system |grep flannel
kube-flannel-ds-765qc 1/1 Running 0 2m34s
加入node节点
向集群中添加新节点,执行在kubeadm init 输出的
kubeadm join命令,再在后面同样添加忽略swap报错参数。
1)配置忽略swap报错
[root@node1 ~]# vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
[root@node2 ~]# vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
2)加入node1节点
kubeadm join 192.168.72.128:6443 --token damed3.0ow9o2c5sbw4xa3d \
--discovery-token-ca-cert-hash sha256:6609879475365b92ee1d98d2cf187ff4add2e6ae9e0b3eed869036cb51ff17ce
(master初始化中的内容直接复制过来)
[preflight] Running pre-flight checks
[WARNING Swap]: running with swap on is not supported. Please disable swap
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[kubelet-start] Downloading configuration for the kubele

最低0.47元/天 解锁文章
691

被折叠的 条评论
为什么被折叠?



