centos7 您所在的位置:网站首页 k8s指定node节点 centos7

centos7

#centos7| 来源: 网络整理| 查看: 265

centos7-部署k8s-shell脚本方式部署 1、每个节点设置

设置网络

vi /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT=yes

设置静态IP(虚拟机不用)

vi /etc/sysconfig/network-scripts/ifcfg-ens33

将 BOOTPROTO 改为static BOOTPROTO=static ONBOOT=yes 添加ip、网关和DNS地址,网关可以通过命令:“netstat -rn” 查看 IPADDR=192.168.1.11 GATEWAY=192.168.1.2 DNS1=8.8.8.8

2、时间同步

k8s要求集群中的节点必须精确一致,所以直接使用chronyd从网络同步时间

启动chronyd服务

systemctl start chronyd

设为开机自启

systemctl enable chronyd

查看当前时间

date 3、重新设置主机名

在k8s中, 主机名不能重复,所以将其设为不一样的节点

主节点

hostnamectl set-hostname master

工作节点1

hostnamectl set-hostname node1

工作节点2

hostnamectl set-hostname node2 4、拷贝k8stest 文件夹到服务器

运行k8s.sh 进入文件夹

cd /k8stest/

运行

chmod +x ./k8s.sh && ./k8s.sh

初始化主节点如果报错 重置

kubeadm reset

清除文件

iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X systemctl stop kubelet systemctl stop docker rm -rf /var/lib/cni/* rm -rf /var/lib/kubelet/* rm -rf /etc/cni/* ifconfig cni0 down ifconfig flannel.1 down ifconfig docker0 down ip link delete cni0 ip link delete flannel.1 systemctl start docker

然后再初始化 使用init组件快速初始化一个主节点(10.0.2.15为服务器IP)

kubeadm init \ --apiserver-advertise-address=10.0.2.15 \ --control-plane-endpoint=cluster-endpoint \ --image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \ --kubernetes-version v1.20.9 \ --service-cidr=10.96.0.0/16 \ --pod-network-cidr=192.168.0.0/16

初始化后续 根据上面的提示继续进行配置,如果需要使用集群,还需要执行以下命令, 记住,这里的命令是从第一步初始化成功后拷贝过来的命令,应该拷贝你的命令来执行

mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 3、work节点加入集群(安装令牌,只在工作节点执行)

如果要在集群中加入工作节点,那么需要在工作节点执行以下命令,这些是集群的令牌 记住,这里的命令是从第一步初始化成功后拷贝过来的命令,应该拷贝你的命令来执行

以下操作只在work节点执行即可

kubeadm join cluster-endpoint:6443 --token ppwpeo.286k19gvjdlelen8 \ --discovery-token-ca-cert-hash sha256:1e402bf817b1f8f2ade7aeb0a702c389903a96e72724517409793e7b4904ee72

加入后我们在主节点执行kubectl get nodes命令,可以看到,除了主节点之外,还有2个工作节点,在看它们的状态都是NotReady(未准备好)的,因为还没安装网络插件,这刚好是我们下一步要做的事;

查看nodes

kubectl get nodes

这个命令一定要在主节点执行才能生成令牌

kubeadm token create --print-join-command 5、可视化

加载可视化

cd /k8stest kubectl apply -f k8s-dashboard.yaml

//创建一个dashboard的管理用户

kubectl create serviceaccount dashboard-admin -n kube-system

//将创建的dashboard用户绑定为管理用户

kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

//获取刚刚创建的用户对应的token名称

kubectl get secrets -n kube-system | grep dashboard

dashboard-admin-token-h7w7r kubernetes.io/service-account-token 3 12s

//查看token的详细信息

kubectl describe secrets -n kube-system dashboard-admin-token-ntbtb 6、查看kubetl 日志 journalctl -u kubelet --no-pager 7、单节点部署需要去除污点 kubectl describe nodes master |grep Taints kubectl taint node master node-role.kubernetes.io/master- 8、登录docker仓库(需要生成) docker login -u "账号" -p "密码" swr.cn-south-1.myhucloud.com(地址) 9、生成kubectl 密钥 kubectl create secret docker-registry regsecret --docker-server=swr.cn-south-1.myweicloud.com --docker-username="username" password="password"

删除密钥

kubectl delete -n default secret regsecret 10、项目全部启动 cd /k8stest/deploy kubectl apply -f .

全部删除

kubectl delete -f .

redis 加载字符

redis-cli set 'key' 'value' get 'key'

列出所有的key

keys *


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有