k8s安装

k8s是什么

k8s全称kubernetes,这个名字大家应该都不陌生,k8s是为容器服务而生的一个可移植容器的编排管理工具,越来越多的公司正在拥抱k8s,并且当前k8s已经主导了云业务流程,推动了微服务架构等热门技术的普及和落地,正在如火如荼的发展。

k8s有什么用

用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。 简单点说,k8s可以方便管理多个集群甚至上千的集群。

想象一样,如果你需要部署一个应用,如果有一个机器去部署还算简单,十个的话费一些力就好了,如果是几百以上呢。如此机械的流程未免有些繁琐,k8s的出现正好可以解决这个问题,他可以在多个集群中部署,更新,删除容器。k8s可以使用docker作为容器,启动服务达到分钟级甚至秒级。

安装k8s

你需要2台或以上安装有CentOS的机器。

主机:

centos-master = 192.168.121.9

centos-minion = 192.168.121.65

准备主机:

添加virt7-testing源,在所有主机上(centos-master和centos-minion),使用下面信息添加源:

[virt7-testing]
name=virt7-testing
baseurl=http://cbs.centos.org/repos/virt7-testing/x86_64/os/
gpgcheck=0

  • 在所有主机上(centos-master和centos-minion)都安装Kubernetes。这对etcd,docker和cadvisor也适用。
yum -y install --enablerepo=virt7-testing kubernetes

*注意使用etcd-0.4.6-7(这是该文档的临时版本)

如果你没有配套virt7-testing源安装etcd 0.4.6-7版,请用下面命令卸载它:

yum erase etcd

原因是在当前的的 virt7-testing源中,etcd包被更新了,会引起服务错误。 执行下面两行命令安装etcd-0.4.6-7

yum install http://cbs.centos.org/kojifiles/packages/etcd/0.4.6/7.el7.centos/x86_64/etcd-0.4.6-7.el7.centos.x86_64.rpm
yum -y install --enablerepo=virt7-testing kubernetes
  • 在所有主机的/etc/hosts文件中加入master和node节点,如果DNS中已经有了主机名,就不需要加了。
echo "192.168.121.9 centos-master
192.168.121.65 centos-minion" >> /etc/hosts

 

  • 编辑/etc/kubernetes/config文件,加入以下内容:

# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS=”–etcd_servers=http://centos-master:4001″

# logging to stderr means we get it in the systemd journal
KUBE_LOGTOSTDERR=”–logtostderr=true”

# journal message level, 0 is debug
KUBE_LOG_LEVEL=”–v=0″

# Should this cluster be allowed to run privileged docker containers
KUBE_ALLOW_PRIV=”–allow_privileged=false”

  • 禁用master和node上的防火墙,因为如果有其他防火墙规则管理工具的话,docker会无法正常运行。
systemctl disable iptables-services firewalld
systemctl stop iptables-services firewalld

配置master主机上Kubernetes服务

  • 按照下面的示例编辑/etc/kubernetes/apiserver文件:
# The address on the local server to listen to.
KUBE_API_ADDRESS=”–address=0.0.0.0″

# The port on the local server to listen on.
KUBE_API_PORT=”–port=8080″

# How the replication controller and scheduler find the kube-apiserver
KUBE_MASTER=”–master=http://centos-master:8080″

# Port kubelets listen on
KUBELET_PORT=”–kubelet_port=10250″

# Address range to use for services
KUBE_SERVICE_ADDRESSES=”–service-cluster-ip-range=10.254.0.0/16″

# Add your own!
KUBE_API_ARGS=””

  • 启动master上恰当的服务
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done

配置node节点上的Kubernetes服务 我们需要在节点上配置kubelet并启动kubelet和proxy

  • 按照下面的示例编辑/etc/kubernetes/kubelet文件:Kubernetes中文文档
# The address for the info server to serve on
KUBELET_ADDRESS=”–address=0.0.0.0″

# The port for the info server to serve on
KUBELET_PORT=”–port=10250″

# You may leave this blank to use the actual hostname
KUBELET_HOSTNAME=”–hostname_override=centos-minion”

# Add your own!
KUBELET_ARGS=””

  • 启动节点上(fed-node)上恰当的服务
for SERVICES in kube-proxy kubelet docker; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done

你应该完成了!

  • 检查以确认现在集群中fed-master能够看到fed-node
$ kubectl get nodes
NAME LABELS STATUS
centos-minion <none> Ready

集群现在应该在运行了,启动一个用于测试的pod吧

更多相关资料,请看官网。Kubernetes(k8s)中文文档 目录_Kubernetes中文社区

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值