2019-10-14-kubernetes 1.16 单机版在线安装
记录笔记本环境单节点部署。 操作系统: Centos 7.6 mini install kubernetes: 1.16
环境准备
主机名
IP
配置
master/node
172.16.160.33
2C 8G
设置主机名为master 时区
timedatectl set-timezone Asia/Shanghai #都要执行
hostnamectl set-hostname k8s在/etc/hosts中添加解析
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.160.33 k8s关闭seliux以及firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl disable firewalld
systemctl stop firewalld安装docker
使用阿里yum源
启动docker,并设置为开机自启
输入docker info,==记录Cgroup Driver== Cgroup Driver: cgroupfs docker和kubelet的cgroup driver需要一致,如果docker不是cgroupfs,则执行
安装kubeadm,kubectl,kubelet
使用国内源
kubeadm是集群部署工具
kubectl是集群管理工具,通过command来管理集群
kubelet的k8s集群每个节点的docker管理服务,设置为开机自启动
关闭swap,及修改iptables,不然后面kubeadm会报错
拉取镜像
查看部署需要的镜像
根据需要的版本,直接拉取国内镜像,并修改tag
运行脚本,拉取镜像
kubeadm init 部署master节点
只在master执行。此处选用最简单快捷的部署方案。etcd、api、controller-manager、 scheduler服务都会以容器的方式运行在master。etcd 为单点,不带证书。etcd的数据会挂载到master节点/var/lib/etcd
init命令注意要指定版本,和pod范围
执行提示的命令,保存kubeconfig
此时执行kubectl get node 已经可以看到master节点,notready是因为还未部署网络插件
查看所有的pod,kubectl get pod --all-namespaces
coredns也依赖于容器网络,此时pending是正常的
配置KUBECONFIG变量
master节点默认不可部署pod
执行如下,node-role.kubernetes.io/master 可以在 kubectl edit node master1中taint配置参数下查到
部署calico网络
k8s支持多种网络方案,flannel,calico,openvswitch
此处选择calico
部署prometheus
部署k8s ui界面,dashboard
dashboard是官方的k8s 管理界面,可以查看应用信息及发布应用。dashboard的语言是根据浏览器的语言自己识别的
官方默认的dashboard为https方式,如果用chrome访问会拒绝。本次部署做了修改,方便使用,使用了http方式,用chrome访问正常。
修改方法可以查看我简书中另一篇文档,修改dashboard 为http方式
一共需要导入3个yaml文件
文件地址 https://github.com/cai11745/k8s-ocp-yaml/tree/master/yaml-file/dashboard-1.10.1
创建完成后,通过 http://任意节点的IP:32000即可访问ui 不需要输入token,也不需要https
9. FAQ
9.1 kubectl 命令补全
9.2 master节点默认不可部署pod
执行如下,node-role.kubernetes.io/master 可以在 kubectl edit node master1中taint配置参数下查到
9.3 node节点pod无法启动/节点删除网络重置
node1之前反复添加过,添加之前需要清除下网络
重置kubernetes服务,重置网络。删除网络配置,link
加入节点 systemctl start docker
镜像加速器,相应域名替换掉即可
dockerhub(docker.io) dockerhub.azk8s.cn dockerhub.azk8s.cn//: dockerhub.azk8s.cn/microsoft/azure-cli:2.0.61dockerhub.azk8s.cn/library/nginx:1.15
gcr.io gcr.azk8s.cn gcr.azk8s.cn//: gcr.azk8s.cn/google_containers/hyperkube-amd64:v1.13.5
quay.io quay.azk8s.cn quay.azk8s.cn//: quay.azk8s.cn/deis/go-dev:v1.10.0
参考文档
https://kubernetes.io/docs/setup/independent/install-kubeadm/ https://www.cnblogs.com/xingyys/p/11594189.html
Last updated