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