CentOS
发布时间:2022-05-09 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Docker实践―CentOS7上部署Kubernetes详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Kubernetes架构@H_262_3@
Kubernetes的整体架构如下:
@H_800_0
@master为主控节点,上面运行apiserver,
scheduler,controller-manager等组件。Minion相当于工作节点,上面运行kubelet,proxy,cAdvisor以及最重要的docker等组件。下面来实际部署一下这套集群管理工具。
环境@H_262_3@
yy1 10.193.6.35
yy2 10.193.6.36
yy1作为master,yy2作为minion。
# cat /etc/centos-release
CentOS Linux release 7.0.1406 (CorE)
安装kubernetes@H_262_3@
@H_
450_36@
# curl
https://co
PR.fedorapro
ject
.org/coprs/eparis/kubernetes-epel-7/repo/epel-7/eparis-kubernetes-epel-7-epel-7.repo -o /etc/yu
m.repo
s.d/eparis-kubernetes-epel-7-epel-7.repo
# yum install kubernetes -y
配置yy1@H_262_3@
@H_
450_36@
# cat /etc/kubernetes/apiserver
###
# kubernetes system config
#
# The following values are used to configure the kubernetes-apiserver
#
# The address on the local server to listen to.
KUBE_API_ADDRESS="10.193.6.35"
# The port on the local server to listen on.
KUBE_API_PORT="8080"
# How the
Replication controller and
scheduler find the apiserver
KUBE_MASTER="10.193.6.35:8080"
# Comma seperated list of minions
MINION_ADDRESSES="10.193.6.36"
# Port minions listen on
MINION_PORT="10250"
# cat /etc/kubernetes/config
###
# kubernetes system config
#
# The following values are used to configure varIoUs aspects of all
# kubernetes
services,including
#
# kubernetes-apiserver.
service
# kubernetes-controller-manager.
service
# kubernetes-kubelet.
service
# kubernetes-proxy.
service
# Comma seperated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="
http://10.193.6.35
:4001"
# logging to stderr means we get it in the systemd journal
KUBE_LOGTOSTDERR="true"
# journal
message level,0 is debug
KUBE_LOG_LEVEL
=0
# Should this cluster be allowed to run privleged docker containers
KUBE_ALLOW_PRIV="true"
启动yy1上相关服务@H_262_3@
@H_800_0
@master上需要运行etcd,kube-apiserver,kube-controller-manager,kube-
scheduler这4个进程。
@H_
450_36@
for
serviCES in etcd kube-apiserver kube-controller-manager kube-
scheduler; do
systemctl restart $
serviCES
systemctl enable $
serviCES
systemctl status $
serviCES
done
配置yy2@H_262_3@
@H_
450_36@
# cat /etc/kubernetes/kubelet
###
# kubernetes kublet (minion) config
# The address for the info server to serve on
MINION_ADDRESS="10.193.6.36"
# The port for the info server to serve on
MINION_PORT="10250"
# You may leave this blank to use the actual hostname
MINION_HOSTNAME="10.193.6.36"
# cat /etc/kubernetes/config
###
# kubernetes system config
#
# The following values are used to configure varIoUs aspects of all
# kubernetes
services,including
#
# kubernetes-apiserver.
service
# kubernetes-controller-manager.
service
# kubernetes-kubelet.
service
# kubernetes-proxy.
service
# Comma seperated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="
http://10.193.6.35
:4001"
# logging to stderr means we get it in the systemd journal
KUBE_LOGTOSTDERR="true"
# journal
message level,0 is debug
KUBE_LOG_LEVEL
=0
# Should this cluster be allowed to run privleged docker containers
KUBE_ALLOW_PRIV="true"
修改yy2 kubelet的配置@H_262_3@
CentOS7上没有docker.socket服务,注释掉kubelet中对docker.socket的依赖。
/usr/lib/systemd/system/kubelet.service
@H_
450_36@
[Unit]
Description=Kubernetes Kubelet
#After=docker.socket cadvisor.
service
After=cadvisor.
service
#
requires=docker.socket cadvisor.
service
requires=cadvisor.
service
启动yy2上的相关服务@H_262_3@
@H_800_0
@minion上需要运行kube-proxy,kubelet以及docker。
@H_
450_36@
for
serviCES in kube-proxy kubelet docker; do
systemctl restart $
serviCES
systemctl enable $
serviCES
systemctl status $
serviCES
done
创建pod描述文件@H_262_3@
创建一个apache的pod描述文件。
@H_
450_36@
# cat apache.json
{
"id": "apache","desiredState":
{
"manifest":
{
"version": "v1beta1","id": "apache-1","containers": [
{
"name": "master","image": "fedora/apache","ports": [
{
"containerPort": 80,"hostPort": 80
}]
}]
}
},"labels":
{
"name": "apache"
}
}
创建pod@H_262_3@
通过客户端工具kubecfg提交任务给apiserver,由scheduler选择一个minion部署容。
@H_
450_36@
[root@yy1 ~]# kubecfg -c apache.json create pods
I0925 06
:43:26.768122 09313
request.go:292] Wai
Ting for completion of /operations/1
ID Image(s) Host Labels Status
---------- ---------- ---------- ---------- ----------
apache fedora/apache / name=apache Wai
Ting
[root@yy1 ~]# kubecfg list pods
ID Image(s) Host Labels Status
---------- ---------- ---------- ---------- ----------
apache fedora/apache 10.193.6.36/ name=apache Wai
Ting
apache服务会自动部署到机器yy2,yy2上的docker会自动下载image,然后启动apache服务。顺利的话,过一会儿,apache服务就会在yy2上起来。
@H_
450_36@
[root@yy1 ~]# kubecfg list pods
ID Image(s) Host Labels Status
---------- ---------- ---------- ---------- ----------
apache fedora/apache 10.193.6.36/ name=apache Running
可以尝试访问一下,
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
您可能感兴趣的文章:
- 使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法
大佬总结
以上是大佬教程为你收集整理的Docker实践―CentOS7上部署Kubernetes详解全部内容,希望文章能够帮你解决Docker实践―CentOS7上部署Kubernetes详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。