kubeadm安装部署kubernetes

一、kubernetes的安装方式

1.kubeadm:kubeadm 可以运行在物理机、虚拟机以及云主机,并且可以与chef或puppet配合可以完成自动化部署安装
2.minikube:minikube 由 CoreOS 提供在单机上构件 kubernetes 集群
3.docker:docker images 由 kubernetes 在发行版本中提供 docker images,并通过 docker images 运行 kubernetes 组件。所需要的镜像包在kubernetes-server-linux-amd64.tar.gz里
4.hyperkube:hyperkube images 由 Google 推出将 kubernetes 各组件以容器方式运行。容器可以有(docker/rkt等)。使用 hyperkube images 需要提前配置 kubelet 组件。最终通过kubelet将kubenetes部署各组件。这种安装方法的好处是:只要系统可运行容器,就可以通过hyperkube images 来运行kubernetes组件

二、使用kubeadm安装kubernetes

1.各节点信息
主机名IP节点
centos1192.168.1.150主节点
centos2192.168.1.151从节点
centos3192.168.1.152从节点

以下操作所有节点都要执行

2.前提

1)主节点给4G内存、双cpu,设置每个节点两两之间无密码登录ssh

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.151
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.152
#其余两台也进行同样操作,实现两两无密码登录

2)关闭selinux,时间必须同步

sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/sysconfig/selinux

3)关闭firewall或iptables

systemctl stop firewalld 
systemctl disable firewalld

4)配置hosts文件

vim /etc/hosts
192.168.1.150 centos1
192.168.1.151 centos2
192.168.1.152 centos3
scp /etc/hosts root@192.168.1.151:/etc/hosts
scp /etc/hosts root@192.168.1.152:/etc/hosts
3.安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置docker镜像源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5.安装docker
yum install -y --setopt=obsoletes=0 docker-ce-17.03.0.ce-1.el7.centos   docker-ce-selinux-17.03.0.ce-1.el7.centos
6.设置docker开机启动
systemctl enable docker && systemctl start docker
7.安装kubeadm

1)配置国内yum源

vim /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0

2)重建yum源

yum -y install epel-release
yum clean all
yum makecache

3)安装

yum -y install kubeadm-1.11.0-0 kubelet-1.11.0-0 kubernetes-cni-0.6.0

4)启动kubeadm并设置开机启动

systemctl enable kubelet && systemctl start kubelet
8.编写下拉镜像的脚本
vim docker.sh
#docker.sh
#!/bin/bash
images=(kube-proxy-amd64:v1.11.0 kube-scheduler-amd64:v1.11.0 kube-controller-manager-amd64:v1.11.0 kube-apiserver-amd64:v1.11.0 etcd-amd64:3.2.18 coredns:1.1.3 pause-amd64:3.1 kubernetes-dashboard-amd64:v1.8.3 k8s-dns-sidecar-amd64:1.14.9                 k8s-dns-kube-dns-amd64:1.14.9 k8s-dns-dnsmasq-nanny-amd64:1.14.9 )
for imageName in ${images[@]} ; do
docker pull keveon/$imageName
docker tag keveon/$imageName k8s.gcr.io/$imageName
docker rmi keveon/$imageName
done
docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1
9.执行脚本下拉镜像
chmod 777 docker.sh
./docker.sh
10.关闭swap分区
swapoff -a  #临时关闭
vim /etc/fstab #永久关闭,注释swap那一行
11.配置转发参数
vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
sysctl -p /etc/sysctl.d/k8s.conf

三、正式安装(以下都在主节点上操作)

1.安装
kubeadm init --kubernetes-version=v1.11.0 --pod-network-cidr=10.244.0.0/16

完成后显示如下:
在这里插入图片描述

2.执行上图中的命令
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
3.安装flanel网络
kubectl apply -f \
https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
如果显示这个信息,就执行下面这个命令

在这里插入图片描述

export KUBECONFIG=/etc/kubernetes/admin.conf
4.查看节点状态
kubectl get nodes

在这里插入图片描述

四、添加节点(node上操作)

1.执行上面node加入的命令
kubeadm join 192.168.1.150:6443 --token dkr6gl.niujtokn81q83277 --discovery-token-ca-cert-hash sha256:598932123108b51d4f320c75d1321e4d4dcd28d1b4306398b1f85a9b2c0e4a0c
完成显示如下

在这里插入图片描述

2.在master上查看

#全部节点显示ready,成功
在这里插入图片描述

五、安装web管理界面kubernetes-dashboard

1.下载官方yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
2.修改文件内容,做端口映射
vim kubernetes-dashboard.yaml

在这里插入图片描述

3.创建serviceaccount 用于登陆dashboard
kubectl create serviceaccount dashboard-admin -n kube-system
4.创建clusterrolebinding
kubectl create clusterrolebinding cluster-dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
5.创建容器
sed -i 's#k8s.gcr.io#gcrxio#g' kubernetes-dashboard.yaml
kubectl apply -f kubernetes-dashboard.yaml
6.查看容器状态
kubectl get pods -n kube-system

在这里插入图片描述

7.查看dashbord被分配到哪个节点上
kubectl get pods --all-namespaces -o wide

在这里插入图片描述

8.查看映射到宿主机的端口
kubectl get svc -n kube-system

在这里插入图片描述

9.使用以下脚本查看令牌
kubectl describe secret/$(kubectl get secret -nkube-system |grep admin|awk '{print $1}') -nkube-system

在这里插入图片描述

10.火狐浏览器登录 https://IP:端口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值