草庐IT

Kubernetes集群部署

贺haha 2023-03-28 原文

镜像下载、域名解析、时间同步请点击 阿里云开源镜像站

一、环境要求

系统版本:CentOS7.x版本

硬件配置:内存2GB以上  cpu2核以上  硬盘大于30G

集群网络配置:集群中所有服务器内网必须互通,并且需要访问外网来拉取镜像

禁用swap分区

二、k8s基础环境操作:

1、关闭防火墙:

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld

2、关闭selinux:

[root@localhost ~]# sed -i 's/enforcing/disabled/' /etc/selinux/config
[root@localhost ~]# getenforce

3、关闭swap分区:

临时关闭:

[root@localhost ~]# 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的链

[root@localhost ~]# cat > /etc/sysctl.d/k8s.conf << EOF
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[root@localhost ~]# sysctl --system

6、开启IP转发功能

[root@localhost ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

三、安装docker(三台机器都操作)

1、卸载旧版docker

[root@localhost ~]# yum remove docker docker-common docker-selinux docker-engine

2、安装一些必要的系统工具

[root@localhost ~]# 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、更新安装包索引

[root@localhost ~]# yum makecache fast

5、安装docker ce

[root@localhost ~]# yum -y install docker-ce-18.06.1.ce-3.el7

6、开机自启和启动docker

[root@localhost ~]# systemctl enable docker && systemctl start docker

7、查看docker版本

[root@localhost ~]# docker --version

8、添加阿里云YUM软件源

[root@localhost ~]# 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、

[root@localhost ~]# yum clean all

10、

[root@localhost ~]# yum makecache

安装kubeadm,kubelet和kubectl

11、由于版本更新频繁,这里指定版本号部署:

[root@localhost ~]# yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0
[root@localhost ~]# systemctl enable kubelet

四、部署Kubernetes Master(这个在master主机里操作):

[root@k8s-master~]#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、

[root@localhost ~]# mkdir -p $HOME/.kube

2、

[root@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

3、

[root@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

六、Master安装flannel(主机master里操作):

[root@k8s-master~]#kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

1、查看索引pod

[root@k8s-master ~]# kubectl get pod -n kube-system

2、查看节点

[root@k8s-master ~]# kubectl get node

七、加入node节点(在两台node上做):

1、

[root@k8s-node1 ~]# kubeadm join 192.168.8.146:6443 --token vhykt2.0jjdgdcnclxhts41  --discovery-token-ca-cert-hash sha256:bf42d67996e593a1e5844ba717d97e1249ed85bf86d83322b88c108d2f6a3dc1

2、查看node1节点是否成功(在node1上做)

[root@k8s-node1 ~]# docker ps

八、查看节点信息(在master操作)

[root@k8s-master ~]# kubectl get node

九、部署dashboard(master主机操作)

[root@k8s-master~]#wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

1、

[root@k8s-master ~]# vim   kubernetes-dashboard.yaml

2、安装dashboard

[root@k8s-master ~]# kubectl apply -f kubernetes-dashboard.yaml

3、使用master节点ip地址+端口来访问,协议是https的

查看Dashboard端口信息:

[root@k8s-master ~]# kubectl --namespace=kube-system get service kubernetes-dashboard

4、以我自己的服务器为访问对象,使用​ ​https://172.16.204.130:30310​​即可访问

5、Token

[root@k8s-master ~]# kubectl create serviceaccount dashboard-admin -n kube-system
[root@k8s-master~]#kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[root@k8s-master ~]# kubectl  get secret -n kube-system

6、查看token的具体信息

[root@k8s-master~]# kubectl describe secret dashboard-admin-token-92djb -n kube-system

7、把密令输入在令牌中

8、登陆成功的页面:

本文转自:https://blog.51cto.com/u_15397018/5367484

有关Kubernetes集群部署的更多相关文章

  1. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  2. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  3. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  4. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  5. Ruby,使用包含 TK GUI 的 ocra 部署一个 exe - 2

    Ocra无法处理需要“tk”的应用程序require'tk'puts'nope'用奥克拉http://github.com/larsch/ocra不起作用(如链接中的一个问题所述)问题:https://github.com/larsch/ocra/issues/29(Ocra是1.9的"new"rubyscript2exe,本质上它用于将rb脚本部署为可执行文件)唯一的问题似乎是缺少tcl的DLL文件我不认为这是一个问题据我所知,问题是缺少tk的DLL文件如果它们是已知的,则可以在执行ocra时将它们包括在内有没有办法知道tk工作所需的DLL依赖项? 最佳答

  6. ruby-on-rails - NameError(未初始化常量 Unzipper::Zip)但仅在 Heroku 部署(Rails)上 - 2

    我有一个类unzipper.rb,它使用Rubyzip解压文件。在我的本地环境中,我可以成功解压缩文件,而无需使用require'zip'明确包含依赖项但是在Heroku上,我得到一个NameError(uninitializedconstantUnzipper::Zip)我只能通过使用明确的require来解决问题:为什么这在H​​eroku环境中是必需的,但在本地主机上却不是?我的印象是Rails自动需要所有gem。app/services/unzipper.rbrequire'zip'#OnlyrequiredforHeroku.Workslocallywithout!class

  7. ruby - Sinatra + Heroku + Datamapper 使用 dm-sqlite-adapter 部署问题 - 2

    出于某种原因,heroku尝试要求dm-sqlite-adapter,即使它应该在这里使用Postgres。请注意,这发生在我打开任何URL时-而不是在gitpush本身期间。我构建了一个默认的Facebook应用程序。gem文件:source:gemcuttergem"foreman"gem"sinatra"gem"mogli"gem"json"gem"httparty"gem"thin"gem"data_mapper"gem"heroku"group:productiondogem"pg"gem"dm-postgres-adapter"endgroup:development,:t

  8. ruby-on-rails - 在服务器上没有互联网访问权限的 Capistrano 部署 - 2

    如何使用Capistrano将Rails应用程序部署到无法访问外部网络或存储库的生产或暂存服务器?我已经设法完成部署的一半,并意识到Capistrano没有在我的本地机器上下载gitrepo,但它首先连接到远程服务器并尝试在那里下载Git存储库。我希望有一个类似Javaee的构建系统,其中创建可交付成果并将该可交付成果发送到服务器。就像您构建.ear文件并将其部署到您想要的任何服务器上一样。显然在RoR中,你被迫(据我所知)在该服务器上构建应用程序,在那里创建一个gem存储库,在那里克隆最新的分支等等。有什么方法可以将准备运行的包发送到远程服务器吗? 最佳答

  9. 【详解】Docker安装Elasticsearch7.16.1集群 - 2

    开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建

  10. Streampark集成Cloudera Flink、ldap、告警,以及部署常见问题 - 2

    集成背景我们当前集群使用的是ClouderaCDP,Flink版本为ClouderaVersion1.14,整体Flink安装目录以及配置文件结构与社区版本有较大出入。直接根据Streampark官方文档进行部署,将无法配置FlinkHome,以及后续整体Flink任务提交到集群中,因此需要进行针对化适配集成,在满足使用需求上,尽量提供完整的Streampark使用体验。集成步骤版本匹配问题解决首先解决无法识别Cloudera中的FlinkHome问题,根据报错主要明确到的事情是无法读取到Flink版本、lib下面的jar包名称无法匹配。修改对象:修改源码:(解决无法匹配clouderajar

随机推荐