Remove CentOS guide that was already deprecated a while ago (#7242)

pull/7216/merge
Ilya Dmitrichenko 2018-02-07 03:34:51 +01:00 committed by k8s-ci-robot
parent 5b55fd07a6
commit e81fe4816f
6 changed files with 1 additions and 483 deletions

View File

@ -79,7 +79,6 @@ toc:
- docs/getting-started-guides/fedora/fedora_ansible_config.md
- docs/getting-started-guides/fedora/fedora_manual_config.md
- docs/getting-started-guides/fedora/flannel_multi_node_cluster.md
- docs/getting-started-guides/centos/centos_manual_config.md
- docs/getting-started-guides/coreos/index.md
- docs/getting-started-guides/ubuntu/index.md

View File

@ -178,6 +178,7 @@
/docs/getting-started-guides/ubuntu/calico/ /docs/getting-started-guides/ubuntu/ 301
/docs/getting-started-guides/vagrant/ /docs/getting-started-guides/alternatives/ 301
/docs/getting-started-guides/windows/While/ /docs/getting-started-guides/windows/ 301
/docs/getting-started-guides/centos/* /docs/setup/independent/create-cluster-kubeadm/ 301
/docs/hellonode/ /docs/tutorials/stateless-application/hello-minikube/ 301
/docs/home/coreos/ /docs/getting-started-guides/coreos/ 301

View File

@ -1,238 +0,0 @@
---
approvers:
- thockin
title: CentOS
---
* TOC
{:toc}
## 警告
本文档适用于Kubernetes 1.1.0,目前已经被[废弃](https://github.com/kubernetes/website/issues/1613)。相关内容请参阅最新版[指南](/docs/getting-started-guides/kubeadm/)。
## 前提条件
在CentOS上部署和配置Kubernetes您需要在集群中拥有一台机器作为master节点并拥有至少一台运行CentOS 7系统的主机作为集群节点node
## 启动一个集群
本文档是一篇基于CentOS系统部署和配置Kubernetes的入门指南内容涵盖一个手工的配置以便于您了解所有的底层软件包、服务以及端口等信息。
Kubernetes由一系列服务构成包括kube-apiserver、kube-scheduler、kube-controller-manager、kubelet以及kube-proxy等。这些服务由systemd管理配置集中位于/etc/kubernetes。我们将在集群中的不同主机上部署不同的服务。其中第一台主机即centos-master将被部署成为Kubernetes集群中的master节点。这台主机上将运行kube-apiserver、kube-controller-manager和kube-scheduler。 此外master节点还将运行 _etcd_。集群中剩余的主机即centos-minion-n节点将运行kubelet、proxy、cadvisor和docker。
集群中的所有节点将运行flanneld来构建网络networking overlay
**系统信息:**
主机:
请使用您真实环境中的信息替换以下配置中的各个主机IP
```conf
centos-master = 192.168.121.9
centos-minion-1 = 192.168.121.65
centos-minion-2 = 192.168.121.66
centos-minion-3 = 192.168.121.67
```
**配置主机环境:**
* 在集群所有节点上——centos-{master,minion-n},创建包含以下配置信息的/etc/yum.repos.d/virt7-docker-common-release.repo文件。
```conf
[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/
gpgcheck=0
```
* 在集群所有节点上——centos-{master,minion-n}安装Kubernetes、etcd和flanneld。这一过程也将同时在节点上安装docker和cadvisor。
```shell
yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel
```
* 将master节点和其他节点的主机名——IP映射添加到所有集群节点的/etc/hosts文件中如果主机名已经在DNS中记录则可略过此步
```shell
echo "192.168.121.9 centos-master
192.168.121.65 centos-minion-1
192.168.121.66 centos-minion-2
192.168.121.67 centos-minion-3" >> /etc/hosts
```
* 编辑/etc/kubernetes/config文件以保证在集群所有主机上都包含以下内容
```shell
# logging to stderr意为从systemd journal获取日志
KUBE_LOGTOSTDERR="--logtostderr=true"
# journal消息级别, 0代表debug
KUBE_LOG_LEVEL="--v=0"
# 是否允许集群运行privileged docker containers
KUBE_ALLOW_PRIV="--allow-privileged=false"
# 配置replication conrtoller和scheduler所需的kube-apiserver地址
KUBE_MASTER="--master=http://centos-master:8080"
```
* 由于docker与一些防火墙规则不兼容需要在master节点及其他集群节点上禁用防火墙。在CentOS系统上需要首先禁用SELinux进而才能禁用防火墙。
```shell
setenforce 0
systemctl disable iptables-services firewalld
systemctl stop iptables-services firewalld
```
**配置master节点上的Kubernetes服务**
* 编辑/etc/etcd/etcd.conf文件内容如下
```shell
# [member]
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#[cluster]
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
```
* 编辑/etc/kubernetes/apiserver文件内容如下
```shell
# 本地服务器监听地址
KUBE_API_ADDRESS="--address=0.0.0.0"
# 本地服务器监听端口
KUBE_API_PORT="--port=8080"
# Kubelet监听端口
KUBELET_PORT="--kubelet-port=10250"
# 以逗号间隔的etcd集群中各个节点的地址
KUBE_ETCD_SERVERS="--etcd-servers=http://centos-master:2379"
# Kubernetes服务IP地址网段
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
# 请添加您需要的Kubernetes API Server启动参数
KUBE_API_ARGS=""
```
* 启动ETCD并保存master节点的网络设置network overlay configuration
**警告** 请根据您的真实环境配置网络信息!在本文环境中,`172.30.0.0/16`网段是可用的。
```shell
systemctl start etcd
etcdctl mkdir /kube-centos/network
etcdctl mk /kube-centos/network/config "{ \"Network\": \"172.30.0.0/16\", \"SubnetLen\": 24, \"Backend\": { \"Type\": \"vxlan\" } }"
```
* 在master节点上配置/etc/sysconfig/flanneld文件使用flannel覆盖Docker网络 (需要在其他集群节点上完成相同配置,详见下文):
```shell
# Flanneld配置选项
# etcd url地址指向运行etcd的服务器
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"
# etcd配置秘钥即flannel查询的配置秘钥
# 用于网段分配
FLANNEL_ETCD_PREFIX="/kube-centos/network"
# 其它需要的Flannel启动参数
#FLANNEL_OPTIONS=""
```
* 在master节点上启动相关服务
```shell
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
```
**在集群其他节点上配置Kubernetes服务**
***我们需要在集群其他节点上配置kubelet启动kubelet和proxy服务***
* 编辑/etc/kubernetes/kubelet文件内容如下
```shell
# info server的服务地址
KUBELET_ADDRESS="--address=0.0.0.0"
# info server的监听端口
KUBELET_PORT="--port=10250"
# 本字段可以设置空值以使用真实的主机名
# 注意节点序号n
KUBELET_HOSTNAME="--hostname-override=centos-minion-n"
# api-server地址
KUBELET_API_SERVER="--api-servers=http://centos-master:8080"
# 添加您所需要的Kubelet参数
KUBELET_ARGS=""
```
* 在所有节点上配置/etc/sysconfig/flanneld文件设置使用flannel覆盖Docker网络
```shell
# Flanneld配置选项
# etcd url地址指向运行etcd的服务器
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"
# etcd配置秘钥即flannel查询的配置秘钥
# 用于网段分配
FLANNEL_ETCD_PREFIX="/kube-centos/network"
# 其他需要配置的选项
#FLANNEL_OPTIONS=""
```
* 在节点上启动相关服务centos-minion-n
```shell
for SERVICES in kube-proxy kubelet flanneld docker; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
```
* 配置kubectl
```shell
kubectl config set-cluster default-cluster --server=http://centos-master:8080
kubectl config set-context default-context --cluster=default-cluster --user=default-admin
kubectl config use-context default-context
```
*至此Kubernetes在CentOS集群中的部署已经完成 *
* 在centos-master节点上通过kubectl命令检查所有的Kubernetes节点已经到位
```shell
$ kubectl get nodes
NAME STATUS AGE VERSION
centos-minion-1 Ready 3d v1.6.0+fff5156
centos-minion-2 Ready 3d v1.6.0+fff5156
centos-minion-3 Ready 3d v1.6.0+fff5156
```
**现在Kubernetes集群已经正常运行可以创建测试pod验证集群了**
## 支持级别
IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level
-------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ----------------------------
Bare-metal | custom | CentOS | flannel | [docs](/docs/getting-started-guides/centos/centos_manual_config) | | Community ([@coolsvap](https://github.com/coolsvap))
有关所有解决方案的支持级别信息,请参阅[解决方案列表](/docs/getting-started-guides/#table-of-solutions)。

View File

@ -1,4 +0,0 @@
approvers:
- lavalamp
- thockin

View File

@ -1,238 +0,0 @@
---
approvers:
- thockin
title: CentOS
---
* TOC
{:toc}
**Caution:** This guide was originally written for Kubernetes 1.1.0 and [is deprecated](https://github.com/kubernetes/website/issues/1613) and is replaced by [kubeadm](/docs/admin/kubeadm/).
{: .caution}
## Prerequisites
To configure Kubernetes with CentOS, you'll need a machine to act as a master, and one or more CentOS 7 hosts to act as cluster nodes.
## Starting a cluster
This is a getting started guide for CentOS. It is a manual configuration so you understand all the underlying packages / services / ports, etc...
The Kubernetes package provides a few services: kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy. These services are managed by systemd and the configuration resides in a central location: /etc/kubernetes. We will break the services up between the hosts. The first host, centos-master, will be the Kubernetes master. This host will run the kube-apiserver, kube-controller-manager and kube-scheduler. In addition, the master will also run _etcd_. The remaining hosts, centos-minion-n will be the nodes and run kubelet, proxy, cadvisor and docker.
All of them run flanneld as networking overlay.
**System Information:**
Hosts:
Please replace host IP with your environment.
```conf
centos-master = 192.168.121.9
centos-minion-1 = 192.168.121.65
centos-minion-2 = 192.168.121.66
centos-minion-3 = 192.168.121.67
```
**Prepare the hosts:**
* Create a /etc/yum.repos.d/virt7-docker-common-release.repo on all hosts - centos-{master,minion-n} with following information.
```conf
[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/
gpgcheck=0
```
* Install Kubernetes, etcd and flannel on all hosts - centos-{master,minion-n}. This will also pull in docker and cadvisor.
```shell
yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel
```
* Add master and node to /etc/hosts on all machines (not needed if hostnames already in DNS)
```shell
echo "192.168.121.9 centos-master
192.168.121.65 centos-minion-1
192.168.121.66 centos-minion-2
192.168.121.67 centos-minion-3" >> /etc/hosts
```
* Edit /etc/kubernetes/config which will be the same on all hosts to contain:
```shell
# 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"
# How the replication controller and scheduler find the kube-apiserver
KUBE_MASTER="--master=http://centos-master:8080"
```
* Disable the firewall on the master and all the nodes, as docker does not play well with other firewall rule managers. CentOS won't let you disable the firewall as long as SELinux is enforcing, so that needs to be disabled first.
* If you disable SELinux, make sure you reboot your machine before continuing to more steps.
```shell
setenforce 0
systemctl disable iptables-services firewalld
systemctl stop iptables-services firewalld
```
**Configure the Kubernetes services on the master.**
* Edit /etc/etcd/etcd.conf to appear as such:
```shell
# [member]
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#[cluster]
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
```
* Edit /etc/kubernetes/apiserver to appear as such:
```shell
# 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"
# Port kubelets listen on
KUBELET_PORT="--kubelet-port=10250"
# Comma separated list of nodes in the etcd cluster
KUBE_ETCD_SERVERS="--etcd-servers=http://centos-master:2379"
# Address range to use for services
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
# Add your own!
KUBE_API_ARGS=""
```
* Start ETCD and configure it to hold the network overlay configuration on master:
**Warning** This network must be unused in your network infrastructure! `172.30.0.0/16` is free in our network.
```shell
systemctl start etcd
etcdctl mkdir /kube-centos/network
etcdctl mk /kube-centos/network/config "{ \"Network\": \"172.30.0.0/16\", \"SubnetLen\": 24, \"Backend\": { \"Type\": \"vxlan\" } }"
```
* Configure flannel to overlay Docker network in /etc/sysconfig/flanneld on the master (also in the nodes as we'll see):
```shell
# Flanneld configuration options
# etcd url location. Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"
# etcd config key. This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/kube-centos/network"
# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
```
* Start the appropriate services on master:
```shell
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
```
**Configure the Kubernetes services on the nodes.**
***We need to configure the kubelet and start the kubelet and proxy***
* Edit /etc/kubernetes/kubelet to appear as such:
```shell
# 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
# Check the node number!
KUBELET_HOSTNAME="--hostname-override=centos-minion-n"
# Location of the api-server
KUBELET_API_SERVER="--api-servers=http://centos-master:8080"
# Add your own!
KUBELET_ARGS=""
```
* Configure flannel to overlay Docker network in /etc/sysconfig/flanneld (in all the nodes)
```shell
# Flanneld configuration options
# etcd url location. Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://centos-master:2379"
# etcd config key. This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/kube-centos/network"
# Any additional options that you want to pass
#FLANNEL_OPTIONS=""
```
* Start the appropriate services on node (centos-minion-n).
```shell
for SERVICES in kube-proxy kubelet flanneld docker; do
systemctl restart $SERVICES
systemctl enable $SERVICES
systemctl status $SERVICES
done
```
* Configure kubectl
```shell
kubectl config set-cluster default-cluster --server=http://centos-master:8080
kubectl config set-context default-context --cluster=default-cluster --user=default-admin
kubectl config use-context default-context
```
*You should be finished!*
* Check to make sure the cluster can see the node (on centos-master)
```shell
$ kubectl get nodes
NAME STATUS AGE VERSION
centos-minion-1 Ready 3d v1.6.0+fff5156
centos-minion-2 Ready 3d v1.6.0+fff5156
centos-minion-3 Ready 3d v1.6.0+fff5156
```
**The cluster should be running! Launch a test pod.**
## Support Level
IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level
-------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ----------------------------
Bare-metal | custom | CentOS | flannel | [docs](/docs/getting-started-guides/centos/centos_manual_config) | | Community ([@coolsvap](https://github.com/coolsvap))
For support level information on all solutions, see the [Table of solutions](/docs/getting-started-guides/#table-of-solutions) chart.

View File

@ -130,7 +130,6 @@ These solutions are combinations of cloud providers and operating systems not co
* [Fedora via Ansible](/docs/getting-started-guides/fedora/fedora_ansible_config/)
* [Fedora (Single Node)](/docs/getting-started-guides/fedora/fedora_manual_config/)
* [Fedora (Multi Node)](/docs/getting-started-guides/fedora/flannel_multi_node_cluster/)
* [CentOS](/docs/getting-started-guides/centos/centos_manual_config/)
* [Kubernetes on Ubuntu](/docs/getting-started-guides/ubuntu/)
* [CoreOS on AWS or GCE](/docs/getting-started-guides/coreos/)
@ -174,7 +173,6 @@ Vagrant | CoreOS | CoreOS | flannel | [docs](/docs/gettin
Bare-metal (Offline) | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/coreos/bare_metal_offline/) | Community ([@jeffbean](https://github.com/jeffbean))
CloudStack | Ansible | CoreOS | flannel | [docs](/docs/getting-started-guides/cloudstack/) | Community ([@sebgoa](https://github.com/sebgoa))
Vmware vSphere | Saltstack | Debian | OVS | [docs](/docs/getting-started-guides/vsphere/) | Community ([@imkin](https://github.com/imkin))
Bare-metal | custom | CentOS | flannel | [docs](/docs/getting-started-guides/centos/centos_manual_config/) | Community ([@coolsvap](https://github.com/coolsvap))
lxd | Juju | Ubuntu | flannel/canal | [docs](/docs/getting-started-guides/ubuntu/local/) | [Commercial](https://www.ubuntu.com/kubernetes) and [Community](https://jujucharms.com/kubernetes)
AWS | Juju | Ubuntu | flannel/calico/canal | [docs](/docs/getting-started-guides/ubuntu/) | [Commercial](https://www.ubuntu.com/kubernetes) and [Community](https://jujucharms.com/kubernetes)
Azure | Juju | Ubuntu | flannel/calico/canal | [docs](/docs/getting-started-guides/ubuntu/) | [Commercial](https://www.ubuntu.com/kubernetes) and [Community](https://jujucharms.com/kubernetes)