K8s 部署,简单部署,非采坑篇


首先基础环境:

[root@k8s ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

[root@k8s ~]# tail -2 /etc/hosts
10.0.0.151      k8s-master
10.0.0.150      k8s-node-1

 

首先两台机器全部配置k8s yum源:

cat <<EOF > /etc/yum.repos.d/virt7-docker-common-release.repo
[virt7-docker-common-release]
name=virt7-docker-common-release
baseurl=http://cbs.centos.org/repos/virt7-docker-common-release/x86_64/os/
gpgcheck=0
EOF

由于两台机器是使用的阿里云的ecs 所以这里就不再重复配置阿里yum源,大家可以根据自己实际情况自行配置。

 

更新本地镜像源
yum clean all
yum makecache
关闭 SELinux:
setenforce 0
关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service

 

  • 安装 Kubernetes 环境 (Master)

yum -y install --enablerepo=virt7-docker-common-release kubernetes etcd flannel

编辑本地hosts文件:
cat << EOF >>  /etc/hosts
192.168.102.130    k8s-master
192.168.102.131    k8s-node-1
192.168.102.132    k8s-node-2
EOF

配置文件修改:
vim /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://k8s-master:8080"

vim /etc/etcd/etcd.conf

ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"

vim /etc/kubernetes/apiserver
需删除KUBE_ADMISSION_CONTROL项ServiceAccount参数

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
KUBE_API_PORT="--port=8080"
KUBELET_PORT="--kubelet-port=10250"
KUBE_ETCD_SERVERS="--etcd-servers=http://k8s-master:2379"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"
KUBE_API_ARGS=""

备注:如果需要修改映射的端口范围可以修改 KUBE_API_ADDRESS参数,如下:

KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0 --service-node-port-range=1-65535"

 

启动etcd
systemctl start etcd
systemctl enable etcd
创建网络
etcdctl mkdir /kube-centos/network
etcdctl mk /kube-centos/network/config "{\"Network\":\"172.30.0.0/16\",\"SubnetLen\":24,\"Backend\":{\"Type\":\"vxlan\"}}"

vim /etc/sysconfig/flanneld

FLANNEL_ETCD_ENDPOINTS="http://k8s-master:2379"
FLANNEL_ETCD_PREFIX="/kube-centos/network"

服务启动:
for SERVICES in etcd kube-apiserver kube-controller-manager kube-scheduler flanneld; do systemctl restart $SERVICES; systemctl enable $SERVICES; systemctl status $SERVICES; done

 

  • 安装 Kubernetes 环境 (Minion/Node):

hosts配置 
vim /etc/hosts 同Master配置
yum -y install --enablerepo=virt7-docker-common-release kubernetes flannel

vi /etc/kubernetes/config

KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=0"
KUBE_ALLOW_PRIV="--allow-privileged=false"
KUBE_MASTER="--master=http://k8s-master:8080"

vi /etc/kubernetes/kubelet

KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_PORT="--port=10250"
KUBELET_HOSTNAME="--hostname-override=k8s-node-1"
KUBELET_API_SERVER="--api-servers=http://k8s-master:8080"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest"
KUBELET_ARGS=""

vi /etc/sysconfig/flanneld

FLANNEL_ETCD_ENDPOINTS="http://k8s-master:2379"
FLANNEL_ETCD_PREFIX="/kube-centos/network"

服务启动:
for SERVICES in kube-proxy kubelet flanneld docker; do systemctl restart $SERVICES; systemctl enable $SERVICES; systemctl status $SERVICES; done
配置参数:
kubectl config set-cluster default-cluster --server=http://k8s-master:8080
kubectl config set-context default-context --cluster=default-cluster --user=default-admin
kubectl config use-context default-context

 

注意:尽量开启iptables的转发策略方式如下

vim /etc/sysctl.conf 或者(centos7)vim /usr/lib/sysctl.d/00-system.conf
添加一行

net.ipv4.ip_forward=1

#之后reboot系统

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM