k8s-config
K8S 学习笔记之–集群配置
借助 kubeadm 这一工具快速完成搭建与学习.
安装初始化工具
主要是: kubeadm, kubelet, kubectl (所有机器上都需要)
创建 repo 源:
1  | [kubernetes]  | 
安装:
yum install -y kubelet kubeadm kubectl –disableexcludes=kubernetes

启动初始化工具并设定随机启动:
systemctl enable kubelet && systemctl start kubelet
解除防火墙限制:
1  | vi /etc/sysctl.d/k8s.conf  | 

预下载/拉取镜像(Master 机器执行):
kubeadm config images list # 查看集群初始化所需镜像及依赖版本号

一般会失败,需要手动拉取,从阿里云拉取。使用脚本统一一次性拉取:
1  | mkdir scripts  | 
脚本具体内容: https://gitee.com/lomospace/k8s/blob/master/scripts/k8s_base_image.sh
执行脚本:
1  | cd scripts  | 

通过 kubeadm config images pull 确认镜像拉取成功:

初始化 kubeadm(master)
1  | kubeadm init --kubernetes-version=v1.16.2 --apiserver-advertise-address=192.168.56.104 --pod-network-cidr=192.168.0.0/16  | 
报错了:
解决方案: 修改 虚拟机 CPU,重启后重新执行kubeadm init操作即可.
init 常用主要参数:
- –kubernetes-version: 指定Kubenetes版本,如果不指定该参数,会从google网站下载最新的版本信息
 - –pod-network-cidr: 指定pod网络的IP地址范围,它的值取决于你在下一步选择的哪个网络网络插件
 - –apiserver-advertise-address: 指定master服务发布的Ip地址,如果不指定,则会自动检测网络接口,通常是内网IP。
 - –feature-gates=CoreDNS: 是否使用CoreDNS,值为true/false,CoreDNS插件在1.10中提升到了Beta阶段,最终会成为Kubernetes的缺省选项
 
Init 过程日志输出:

默认情况下, 生成的 token 有效期为 24h
继续:
1  | mkdir -p $HOME/.kube  | 
该步骤必须执行, 否则会提示: The connection to the server localhost:8080 was refused - did you specify the right host or port?
查看 pods 状态
kubectl get pods -n kube-system

Node 加入
在上面 init 最后, 输出了形如: kubeadm join 192.168.56.104:6443 --token ........ , 复制,然后在 node 机器上执行即可.
查看所有 nodes:
kubectl get nodes
此时发现均为 NotReady 状态, 因为 master 节点还未安装网络插件.
安装网络插件(master)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
部署完成后, 过一会即可看到它自动刷新后的结果:

注意: 集群中的master和node节点的hostname不能重复,否则会加入集群失败!!!
相关操作命令
删除集群中的 node:
kubectl delete node node3
重新创建 token:
kubeadm token create
查看 token:
Kubeadm token list
查找 hash:
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //‘
    
        
        版权声明:
        本文由Lomo创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,
        转载请注明作者及出处,本文作者为Lomo,本文标题为k8s-config.
    
    
 
