k8s容器编排

1:k8s集群的安装
k8s的架构
k8s容器编排_第1张图片
除了核心组件,还有一些推荐的Add-ons:
k8s容器编排_第2张图片
修改IP地址、主机和host解析(vi /etc/hosts)
10.0.0.11 k8s-master
10.0.0.12 k8s-node-1
10.0.0.13 k8s-node-2
所有节点需要做hosts解析

master节点安装etcd

yum install etcd -y 
vim /etc/etcd/etcd.conf 
  6行:ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" 
  21行:ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379" 
systemctl start etcd.service 
systemctl enable etcd.service 
etcdctl set testdir/testkey0 0 etcdctl get testdir/testkey0 
etcdctl -C http://10.0.0.11:2379 cluster-health

##etcd原生支持做集群

master节点安装kubernetes

yum install kubernetes-master.x86_64 -y 
vim /etc/kubernetes/apiserver 
  8行: KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0" 
  11行:KUBE_API_PORT="--port=8080" 
  17行:KUBE_ETCD_SERVERS="--etcd-servers=http://10.0.0.11:2379" 
  23行:KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota" 
vim /etc/kubernetes/config 
  22行:KUBE_MASTER="--master=http://10.0.0.11:8080"
systemctl enable kube-apiserver.service 
systemctl restart kube-apiserver.service 
systemctl enable kube-controller-manager.service 
systemctl restart kube-controller-manager.service 
systemctl enable kube-scheduler.service 
systemctl restart kube-scheduler.service

检查服务是否安装正常

[root@k8s-master ~]# kubectl get componentstatus 
NAME               STATUS     MESSAGE                ERROR 
scheduler          Healthy    ok 
controller-manager Healthy    ok 
etcd-0             Healthy    {"health":"true"}

node节点安装kubernetes

yum install kubernetes-node.x86_64 -y 
vim /etc/kubernetes/config 
  22行:KUBE_MASTER="--master=http://10.0.0.11:8080" 
vim /etc/kubernetes/kubelet 
  5行:KUBELET_ADDRESS="--address=0.0.0.0" 
  8行:KUBELET_PORT="--port=10250" 
  11行:KUBELET_HOSTNAME="--hostname-override=10.0.0.12" 
  14行:KUBELET_API_SERVER="--api-servers=http://10.0.0.11:8080" systemctl enable kubelet.service 
systemctl start kubelet.service 
systemctl enable kube-proxy.service 
systemctl start kube-proxy.service

在master节点检查

[root@k8s-master ~]# kubectl get nodes 
NAME       STATUS      AGE 
10.0.0.12  Ready       6m 
10.0.0.13  Ready       3s

所有节点配置flannel网络

yum install flannel -y 
sed -i 's#http://127.0.0.1:2379#http://10.0.0.11:2379#g' /etc/sysconfig/flanneld 

##master节点: 
etcdctl mk /atomic.io/network/config '{ "Network": "172.16.0.0/16" }'
yum install docker -y 
systemctl enable flanneld.service 
systemctl restart flanneld.service 
service docker restart 
systemctl restart kube-apiserver.service 
systemctl restart kube-controller-manager.service 
systemctl restart kube-scheduler.service 

##node节点: 
systemctl enable flanneld.service 
systemctl restart flanneld.service 
service docker restart 
systemctl restart kubelet.service 
systemctl restart kube-proxy.service

配置master为镜像仓库

#所有节点 
vim /etc/sysconfig/docker 
  OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://registry.docker-cn.com --insecure-registry=10.0.0.11:5000' 
systemctl restart docker

#master节点
1、上传私有仓库包
2、导入docker容器
3、启动私有仓库
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry registry

k8s容器编排_第3张图片
测试私有仓库是否可用(往上面上传一个镜像试试)

docker images
docker tag docker.io/busybox:latest 10.0.0.11:5000/busybox:latest 
docker push 10.0.0.11:5000/busybox:latest

k8s容器编排_第4张图片

你可能感兴趣的:(k8s,kubernetes)