当前位置:网站首页>Kubernetes集群部署
Kubernetes集群部署
2022-07-06 09:28:00 【萌褚】
镜像下载、域名解析、时间同步请点击 阿里云开源镜像站
一、环境要求
系统版本:CentOS7.x版本
硬件配置:内存2GB以上 cpu2核以上 硬盘大于30G
集群网络配置:集群中所有服务器内网必须互通,并且需要访问外网来拉取镜像
禁用swap分区
二、k8s基础环境操作:
1、关闭防火墙:
[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl disable firewalld
2、关闭selinux:
[[email protected] ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[[email protected] ~]# getenforce
3、关闭swap分区:
临时关闭:
[[email protected] ~]# swapoff -a
永久关闭:注释掉/etc/fstab文件中的swap行
4、进行hosts文件编辑:
192.168.8.146 k8s-master
192.168.8.141 k8s-node1
192.168.8.129 k8s-node2
5、将桥接的IPv4流量传递到iptables的链
[[email protected] ~]# cat > /etc/sysctl.d/k8s.conf << EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[[email protected] ~]# sysctl --system
6、开启IP转发功能
[[email protected] ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
三、安装docker(三台机器都操作)
1、卸载旧版docker
[[email protected] ~]# yum remove docker docker-common docker-selinux docker-engine
2、安装一些必要的系统工具
[[email protected] ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
3、配置docker的稳定版本仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、更新安装包索引
[[email protected] ~]# yum makecache fast
5、安装docker ce
[[email protected] ~]# yum -y install docker-ce-18.06.1.ce-3.el7
6、开机自启和启动docker
[[email protected] ~]# systemctl enable docker && systemctl start docker
7、查看docker版本
[[email protected] ~]# docker --version
8、添加阿里云YUM软件源
[[email protected] ~]# vim /etc/yum.repos.d/kubernetes.repo
[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
9、
[[email protected] ~]# yum clean all
10、
[[email protected] ~]# yum makecache
安装kubeadm,kubelet和kubectl
11、由于版本更新频繁,这里指定版本号部署:
[[email protected] ~]# yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
[[email protected] ~]# systemctl enable kubelet
四、部署Kubernetes Master(这个在master主机里操作):
[[email protected]~]#kubeadm init --apiserver-advertise-address=192.168.8.146 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.15.0 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
注意:192.168.8.146ip是master主机的ip地址
五、配置kubectl访问集群(三台机器操作):
1、
[[email protected] ~]# mkdir -p $HOME/.kube
2、
[[email protected] ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
3、
[[email protected] ~]# chown $(id -u):$(id -g) $HOME/.kube/config
六、Master安装flannel(主机master里操作):
[[email protected]~]#kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
1、查看索引pod
[[email protected] ~]# kubectl get pod -n kube-system
2、查看节点
[[email protected] ~]# kubectl get node
七、加入node节点(在两台node上做):
1、
[[email protected] ~]# kubeadm join 192.168.8.146:6443 --token vhykt2.0jjdgdcnclxhts41 --discovery-token-ca-cert-hash sha256:bf42d67996e593a1e5844ba717d97e1249ed85bf86d83322b88c108d2f6a3dc1
2、查看node1节点是否成功(在node1上做)
[[email protected] ~]# docker ps
八、查看节点信息(在master操作)
[[email protected] ~]# kubectl get node
九、部署dashboard(master主机操作)
[[email protected]~]#wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
1、
[[email protected] ~]# vim kubernetes-dashboard.yaml
2、安装dashboard
[[email protected] ~]# kubectl apply -f kubernetes-dashboard.yaml
3、使用master节点ip地址+端口来访问,协议是https的
查看Dashboard端口信息:
[[email protected] ~]# kubectl --namespace=kube-system get service kubernetes-dashboard
4、以我自己的服务器为访问对象,使用 https://172.16.204.130:30310即可访问
5、Token
[[email protected] ~]# kubectl create serviceaccount dashboard-admin -n kube-system
[[email protected]~]#kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[[email protected] ~]# kubectl get secret -n kube-system
6、查看token的具体信息
[[email protected]~]# kubectl describe secret dashboard-admin-token-92djb -n kube-system
7、把密令输入在令牌中
8、登陆成功的页面:
边栏推荐
- Write web games in C language
- 拉取分支失败,fatal: ‘origin/xxx‘ is not a commit and a branch ‘xxx‘ cannot be created from it
- Shell Scripting
- Problem - 1646C. Factorials and Powers of Two - Codeforces
- E. Breaking the Wall
- Codeforces Round #803 (Div. 2)A~C
- Programmers, what are your skills in code writing?
- Analysis of protobuf format of real-time barrage and historical barrage at station B
- Calculate the time difference
- Codeforces Round #803 (Div. 2)A~C
猜你喜欢
随机推荐
[exercise-8] (UVA 246) 10-20-30== simulation
QT按钮点击切换QLineEdit焦点(含代码)
Socket communication
Pytorch extract skeleton (differentiable)
Shell Scripting
(POJ - 3685) matrix (two sets and two parts)
Vs2019 initial use
1855. Maximum distance of subscript alignment
QT实现圆角窗口
socket通讯
The concept of C language array
875. 爱吃香蕉的珂珂 - 力扣(LeetCode)
Alice and Bob (2021 Niuke summer multi school training camp 1)
Is the sanic asynchronous framework really so strong? Find truth in practice
frida hook so层、protobuf 数据解析
[exercise -10] unread messages
Differential (one-dimensional, two-dimensional, three-dimensional) Blue Bridge Cup three body attack
860. Lemonade change
JS call camera
Sanic异步框架真的这么强吗?实践中找真理