k8s单master两工作节点搭建

k8s单master两工作节点搭建

1.准备配置
3台Centos(本次使用3台虚拟机) 至少2核CPU+2G内存+20G硬盘
Master:192.168.140.128
Worker1:192.168.140.129
Worker2:192.168.140.130
Kubernetes版本1.18.0 docker版本1.13.0

2.禁用防火墙 #开启路由转发,每台都需要
systemctl stop firewalld & systemctl disable firewalld
echo “1” > /proc/sys/net/ipv4/ip_forward

3.禁用SELINUX
sed -i “s/SELINUX=enforcing/SELINUX=disabled/” /etc/selinux/config
setenforce 0

4.禁用swap
vi /etc/fstab 注释掉swap

5.重启服务器,使其生效。
reboot

6.添加k8s源,国内使用阿里或者163的
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

7.安装kubelet、kubeadm、kubectl
yum install -y kubectl kubeadm kubelet

8.设置开机启动kubelet
systemctl enable kubelet

9.安装docker并开机自启动
yum install -y docker
systemctl start docker & systemctl enable docker

10.修改hostname(非常重要,如果hostname相同会导致问题,工作节点操作到此跳到17步)
hostnamectl set-hostname XXXX

11.初始化Master节点 重置节点为kubeadm reset
kubeadm init
–apiserver-advertise-address=192.168.140.128
–image-repository registry.aliyuncs.com/google_containers
–kubernetes-version v1.18.0
–service-cidr=10.1.0.0/16
–pod-network-cidr=10.244.0.0/16

12.执行命令
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

13.加入集群命令
kubeadm join 192.168.140.128:6443 --token ljev6c.tyh3ll3a17ws6145
–discovery-token-ca-cert-hash sha256:c824b16232c80a13cb4737943f80b4c0d497afef736de6a05e6662bf3608caa9

14.检查组件节点信息
kubectl get nodes
kubectl get cs
kubectl get pod --all-namespaces

15.安装flannel网络插件,安装完成后coredns状态变为run
kubectl create -f https://github.com/coreos/flannel/blob/master/Documentation/kube-flannel.yml

16.安装kubernetes-dashboard面板插件 https://github.com/kubernetes/dashboard
1.docker search kubernetes-dashboard 找个不用翻墙能拉取的镜像
2.去这个地址获取yaml文件 根据自己需要修改修改http://mirror.faasx.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
3.nodeport方式 访问 https://ip:port
4.服务器获取登录token
方式1.
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep yuwenkai | awk ‘{print $1}’)
方式2.
kubectl get secret -n kubernetes-dashboard |grep yuwenkai
输出结果:yuwenkai-token-xxgbk kubernetes.io/service-account-token 3 76m
kubectl get secret yuwenkai-token-xxgbk -o jsonpath={.data.token} -n kubernetes-dashboard |base64 -d
5.配置权限
参考官方文档
kubectl get clusterrolebinding 查看存在的集群角色
kubectl delete clusterrolebinding xxx 删除
6.安装metrics-server
1.允许master节点部署pod
kubectl taint nodes --all node-role.kubernetes.io/master-
如果不允许调度
kubectl taint nodes master1 node-role.kubernetes.io/master=:NoSchedule
污点可选参数
NoSchedule: 一定不能被调度
PreferNoSchedule: 尽量不要调度
NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod
2.添加2参数
args:
- ‘–kubelet-preferred-address-types=InternalIP’
- ‘–kubelet-insecure-tls’

17.安装工作节点
0.按照上面步骤到第10设置系统
1.执行命令 kubeadm join 192.168.140.128:6443 --token xuktzd.6le7uw58r2dqp2s9
–discovery-token-ca-cert-hash sha256:c824b16232c80a13cb4737943f80b4c0d497afef736de6a05e6662bf3608caa9
2.查询token
kubeadm token list
3.24小时过期生成token命令
kubeadm token create
4.获取证书hash值
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed ‘s/^.* //’
5.如果出现删除node节点重新加入报错的情况 删除提示的文件夹,关闭端口
再次出现[kubelet-check] Initial timeout of 40s passed超时错误执行以下操作
kubeadm reset
systemctl daemon-reload
systemctl restart kubelet

18.简单测试
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort

19.至此完成的系统搭建功能
1.单master2node工作节点结构
2.外部能访问的操作界面 有登录验证 有用户权限设置 集成了metrics-server能看到资源使用图
3.简单示例外部能访问的nginx服务

20.后续展望
其他微服务组件的添加

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值