Kubernetes-1.10.2离线安装

目录结构:
这里写图片描述
K8集群所需组件功能介绍:

coredns.tar                        #kubernetes的内部服务发现DNS服务器 
etcd-amd64.tar                     #键值存储仓库,用于配置共享和服务发现 
flannel-amd64.tar                  #容器间的跨主机通信 
heapster-amd64.tar                 #器集群监控和性能分析cpu、内存、network、filesystem 
heapster-grafana-amd64.tar         #通过webUI展示heapster存储在influxdb的数据 
heapster-influxdb-amd64.tar        #存储heapster采集的各指标数据 
kube-apiserver-amd64.tar           #k8s的管理接口负责认证授权、数据校验以及集群状态变更等 
kube-controller-manager-amd64.tar  #集群管理控制器负责保证集群中各种资源处于期望状态,状态不正常时触发对应的调度操作 
kube-proxy-amd64.tar               #代理转发暴漏集群内部容器提供的服务 
kubernetes-dashboard-amd64.tar     #提供友好的K8s的dashboardWEBUI面板 
kube-scheduler-amd64.tar           #k8s调度器,容器的启动、迁移、扩容缩减,节点调度选择 
pause-amd64.tar                    #为pod里的容器提供network namespace和父进程,相当于所有pod里面的容器的父容器 
cni-plugins-amd64-v0.7.1.tgz       #容器平台提供网络的标准化,通过相同的接口调用不同的网络组件(flannel.calico)等
kubelet-1.10.2-0.x86_64.rpm        #处理Master节点下发到本节点的任务,管理Pod和其中的容器,定期向Master汇报节点资源使用情况,是Node上的pod管家 
kubectl-1.10.2-0.x86_64.rpm        #kubectl 是 Kubernetes 自带的客户端,可以用它来直接操作Kubernetes

安装步骤如下:

1:初始化环境

##关闭selinux和防火墙
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
setenforce 0
systemctl stop firewalld && systemctl disable firewalld

##修改内核参数
echo 1 > /proc/sys/net/ipv4/ip_forward                           #开启ipv4转发
echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables      # bridge模式开启
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables
sysctl -p

##关闭系统Swap
swapoff -a 
sed -i /swap/s\/^\/#\/g /etc/fstab

2、安装kubelet kubeadm kubectl和cni

cd ywr/rpm
mkdir -p /opt/cni/bin
tar -xf cni-plugins-amd64-v0.7.1.tgz -C  /opt/cni/bin/
rpm -ivh ./*.rpm --nodeps --force

3、镜像准备(离线方式)

cd ywr/images
for i in `ls .`;do docker load -i $i;done

4、初始化kubelet启动配置参数

sed -i 's/systemd/cgroupfs/g' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload
systemctl start kubelet.service

5、初始化集群

Kubeadm init --kubernetes-version=v1.10.2 --pod-network-cidr=10.244.0.0/16 --feature-gates=CoreDNS=true
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

##配置初始化flannel网络
kubectl create -f ywr/yaml/flannel/kube-flannel.yml

6、安装dashboard

kubectl create -f ywr/yaml/dashboard/kubernetes-dashboard.yaml
kubectl create -f ywr/yaml/dashboard/kubernetes-dashboard-admin.rbac.yaml
nohup kubectl proxy --address=masterip --port=8086 --accept-hosts=^*$ 2>&1 &

测试访问dashboard
http://ip:8086/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

7、安装heaspster,grafana.influxdb监控组件

cd ywr/yaml/heapster/
kubectl create -f grafana.yaml -f heapster.yaml -f influxdb.yaml -f heapster-rbac.yaml

测试访问grafana
http://ip:8086/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana

猜你喜欢

转载自blog.csdn.net/kong2030/article/details/81331512