K8S实战之环境部署1.18(一)
2021-03-02 21:40
459 查看
安装要求,准备环境
#系统centos7.6 #硬件:2个CPU,2G内存 #可以访问外网,禁用swap #提前安装docker环境
准备三台服务器
服务器ip | 服务器名称 |
---|---|
192.168.106.102 | k8s-master |
192.168.106.103 | k8s-node01 |
192.168.106.104 | k8s-node02 |
1. 初始化系统环境,以下命令三台服务器全部执行
1.1 关闭防火墙
systemctl stop firewalld systemctl disable firewalld
1.2 关闭selinux和关闭swap
sed -i 's/enforcing/disabled' /etc/selinux/config setenforce 0 swapoff -a #临时关闭,永久关闭需要写入fatab
1.3 修改主机名,并写入三台服务器的host中
hostnamectl set-hostname K8S-master 102 hostnamectl set-hostname K8S-node01 103 hostnamectl set-hostname K8S-mast02 104 cat >> /etc/hosts << EOF 192.168.106.102 K8S-master 192.168.106.103 K8S-node01 192.168.106.104 K8S-mast02
1.4 将桥接的IPV4流量传递到iptables的链:
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system #配置生效
1.5 同步时间
ntpdate time.windows.com #如果时区不对执行下面命令,然后在同步 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
1.6 配置阿里源,下载相应的软件包
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [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 yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0 #kubectl-1.18.0命令行管理工具,kubeadm-1.18.0是引导K8S集群,kubelet-1.18.0管理容器 systemctl enable kubelet
2.0部署kubernetes Master节点(master节点上执行)
kubeadm init \ --apiserver-advertise-address=192.168.106.102 \ #指定master监听的地址 --image-repository registry.aliyuncs.com/google_containers \ #指定下载源 --kubernetes-version v1.18.0 \ #指定kubernetes版本 --service-cidr=10.96.0.0/12 #设置集群内部的网络 --pod-network-cidr=10.244.0.0/16 #设置pod的网络
以下命令是加入master的命令需要复制出来
kubeadm join 192.168.106.102:6443 --token 7w0oxu.drdkjuzirow3dvj7 \ --discovery-token-ca-cert-hash sha256:e30452be8217affa2f11229e45cb2ed9dfa4424c82d5f354d9813ce789f58fdb` ```bash mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get node #查看版本
kubectl get pods -n kube-system #查看所有组件
2.1 安装Pod网络插件
wget http://120.78.77.38/file/kube-flannel.yaml #下载镜像,国外源,我已经下载到本地 kubectl apply -f kube-flannel.yaml #原始镜像有问题改成如下图所示的镜像名称
启动镜像,启动完查看镜像,会增加一个flannel镜像。支持多主机容器网络通信的
docker pull lizhenliang/flannel:v0.11.0-amd64 #建议先下载镜像 kubectl apply -f kube-flannel.yaml kubectl get pods -n kube-system
如图所示说明K8Spod正常启动
如果之前的环境配置有问题,执行下面命令清理K8S环境
kubectl log kube-flannel-ds-sjs4p -n kube-system -f 启动有问题查看日志详细信息` `kubectl delete -f kube-flannel.yaml #删除pod` ```bash kubeadm reset -f modprobe -r ipip lsmod rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd rm -rf /var/etcd
3. k8s-node节点加入master节点(两台主机分别执行)
kubeadm join 192.168.106.102:6443 --token 7w0oxu.drdkjuzirow3dvj7 \ --discovery-token-ca-cert-hash sha256:e30452be8217affa2f11229e45cb2ed9dfa4424c82d5f354d9813ce789f58fdb
kubectl get nodes #master节点运行
至此K8S集群部署完成
4. master节点安装管理页面dashboard
wget http://120.78.77.38/file/kubernetes-dashboard.yaml kubectl apply -f kubernetes-dashboard.yaml kubectl get pods -n kubernetes-dashboard #下图位置需要修改
kubectl get pod -n kubernetes-dashboard -o wide #查看pod在哪个节点
https://192.168.106.104:30001 #需要用火狐浏览器打开访问 #创建token
kubectl create serviceaccount dashboard-admin -n kube-system kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret |awk '/dashboard-admin/{pirnt $1}')
创建完成将token复制到页面token后进入web管理页面,可以看到如图所示的页面三个节点
https://192.168.106.104:30001/#/node?namespace=default
相关文章推荐
- MongoDB实战-生产环境中分片的部署与配置
- 电商项目实战——第一天(环境部署)3搭建vsftpd服务器
- 《统一沟通-微软-实战》-1-部署-基础环境-2-ADCS
- 电商项目实战——第一天(环境部署)3搭建vsftpd服务器
- Windows下部署Apache+PHP+MySQL运行环境实战
- Kubernetes 实战教学,手把手教您在 K8s 集群上部署 Istio Mesh(一)
- 《统一沟通-微软-实战》-1-部署-基础环境-2-ADCS
- 公开课视频-《第02章 准备-环境》-大企业云桌面部署实战-在线培训-视频(奉献)
- 云环境部署k8s采坑
- Windows7部署Android开发环境实战图
- kubernetes实战(十五):k8s使用helm持久化部署jenkins集成openLDAP登录
- k8s-安装部署实战
- k8s环境部署
- 【云星数据---mesos实战系列003】:marathon实战004--marathon部署一套Tomcat环境(精简代码版)
- 实战2.Spark编译与部署(上)--基础环境搭建
- Docker11-实战-部署多套环境
- 实战Docker部署tomcat发布环境
- K8S 1.10.1 高可用环境搭建实战
- Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建
- Laravel入门实战之二(CentOS6部署Nginx+Laravel线上运行环境)