K8S知识点记录—快速搭建K8S

前言

初始化K8SMaster和Node的时候建议整理成shell自动化脚本,一键式部署

<![if supportMisalignedColumns]> <![endif]>
ID实例名主IPv4公网IP主IPv4内网IP网络类型
ins-ewydxnb8worker11.13.9.16410.206.0.5Default-VPC
ins-ic0slo4mMaster175.27.191.22910.206.0.3Default-VPC

安装K8S:
安装:Matser(docker,kubectl,kubeadm,flannel),Worker(kubectl,kubeadm,kubelet)
安装环境:Ubuntu Server 20.04 LTS 64位 + 腾讯云服务器

一、安装docker

  1. 设置apt 镜像地址,vi /etc/apt/sources.list (腾讯云已经默认设置腾讯云地址)
  2. apt-get update; apt-get install -y docker docker.io
  3. 国内访问docker镜像外网较慢,配置国内docker镜像源:
  • 新建文件:vi /etc/docker/daemon.json
  • 添加:{“registry-mirrors”: [“https://6uz5rfwu.mirror.aliyuncs.com”,“https://hub-mirror.c.163.com”, “https://docker.mirrors.ustc.edu.cn”,“https://registry.docker-cn.com”]}
  • 重新加载:systemctl daemon-reload
  • 重启docker:systemctl restart docker
  • 查看镜像设置情况:docker info
    在这里插入图片描述
  1. 设置 docker cgroup驱动为systemd
  • 打开:vi /etc/docker/daemon.json
  • 添加:{“exec-opts”:[“native.cgroupdriver=systemd”]}
  • 重启:systemctl daemon-reload; systemctl restart docker

daemon.json配置汇总

vi /etc/docker/daemon.json
{"exec-opts":["native.cgroupdriver=systemd"],"registry-mirrors": ["https://6uz5rfwu.mirror.aliyuncs.com","https://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com"]}

或者:
cat <<EOF > /etc/docker/daemon.json
{"exec-opts":["native.cgroupdriver=systemd"],"registry-mirrors": ["https://6uz5rfwu.mirror.aliyuncs.com","https://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com"]}
EOF
daemon-reload
systemctl restart docker

二、安装K8S

  1. 配置K8S镜像源:
  • apt-get update && apt-get install -y apt-transport-https
  • curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
  • cat <<EOF > /etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF
  • apt-get update
  1. 设置Master&各个节点的hostaname

修改文件:vi /etc/hostname,同时修改 vi /etc/hosts ,重启
命令修改:hostnamectl set-hostname node1 命令相当于只修改了 /etc/hostname文件。

  1. 关闭防火墙,关闭Selinux,关闭Swap
  • 防火墙: ufw status(查看状态:inactive状态是防火墙关闭状态 active是开启状态)
    ufw disable (关闭防火墙)
    ufw enable (开启防火墙)
    ufw version (查看防火状态)

  • 关闭Selinux:修改文件 /etc/selinux/config,将 SELINUX=enforcing改为SELINUX=disabled 永久处理
    安装Selinux: apt-get install policycoreutils
    setenforce 0 #设置SELinux 成为permissive模式 临时关闭
    setenforce 1 #设置SELinux 成为enforcing模式 临时打开

  • 关闭swap: swapon --show 查看swappon状态,为空则表示当前未启用Swap分区
    swapoff -a 临时禁止swap分区
    swapon -a 临时启用swap分区
    vim /etc/fstab 永久禁止

  1. 安装kubectl、kubeadm、kubelet
apt-get install -y kubectl kubelet kubeadm
  1. 初始化Master
kubeadm init --kubernetes-version=1.19.3 \
--apiserver-advertise-address=118.195.235.99  APIServer需要广播的监听地址, 如果是云环境,这里要指定 内网IP
--image-repository registry.aliyuncs.com/google_containers   代理地址
--service-cidr=10.1.0.0/16 \     为service的虚拟IP地址另外指定IP地址
--pod-network-cidr=10.244.0.0/16   指明pod网络可以使用的IP地址段

kubeadm init  --apiserver-advertise-address=10.206.0.3  --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.3  --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16

在这里插入图片描述

1)、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 ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config
mkdir -p $HOME/.kube;sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config;sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config

2)、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/

安装网络插件:安装网络插件:flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
安装成功标志:
在这里插入图片描述

3)、kubeadm join 10.206.0.3:6443 --token kqiqil.kh3sab5wmhtv5g0v --discovery-token-ca-cert-hash sha256:18acd420e9d15fe730284bc96d2771b163fefc687082a75a931f6235bfb33b69 -----》初始化worker节点的时候使用

4)、echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile 配置kubeconfig环境变量

  1. 初始化Node节点
  • 拷贝master上的admin.conf到worker节点上: scp -r /etc/kubernetes/admin.conf ubuntu@1.13.9.164:~
  • 执行:
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown ( i d − u ) : (id -u): (idu):(id -g) $HOME/.kube/config
    echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> ~/.bash_profile 或者
    echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> /etc/profile
  • 执行:kubeadm join 10.206.0.3:6443 --token kqiqil.kh3sab5wmhtv5g0v --discovery-token-ca-cert-hash sha256:18acd420e9d15fe730284bc96d2771b163fefc687082a75a931f6235bfb33b69
  • 重启:systemctl restart kubelet

特别的,当忘记master中的token或者token过期(24h),可以使用如下命令创建 kubeadm token create
kubeadm token create --ttl 0 (永久不过期)

在master上面查看kubeadm token list TOKEN TTL EXPIRES USAGES DESCRIPTION

EXTRA GROUPS kqiqil.kh3sab5wmhtv5g0v 22h
2022-04-09T12:47:04+08:00 authentication,signing The default
bootstrap token generated by ‘kubeadm init’.
system:bootstrappers:kubeadm:default-node-token

在master上面查看discovery-token-ca-cert-hash openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der

2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’
18acd420e9d15fe730284bc96d2771b163fefc687082a75a931f6235bfb33b69

在node上面执行join命令 kubeadm join 10.206.0.3:6443 --token kqiqil.kh3sab5wmhtv5g0v --discovery-token-ca-cert-hash

sha256:18acd420e9d15fe730284bc96d2771b163fefc687082a75a931f6235bfb33b69

  1. 安装kubens,方便切换命名空间
    下载二进制文件:git clone https://gitee.com/cat310/kubectx.git -b master
    拷贝:cp -rvf kubectx/kubens /usr/local/bin/
    kubnes,可以查看当前工作空间,
    在这里插入图片描述
    kubens kube-system, 切换工作空间
    在这里插入图片描述

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值