k8s概念和安装
核心概念
cluster
- 计算,存储,网络资源的集合
Master
- 主要负责调度
- kube-apiserver
- kube-scheduler
- kube-conroller-manager
- etcd
- pod网络
Node
- 运行容器应用
- kubelet
- kube-proxy
- pod网络
Pod
- 最小调度单位
- 相同的ip和port,可以用localhost通信,共享volume
Controller
- k8s通过controller来管理pod,定义了pod的部署特性,如副本个数,在哪个node运行。
- Deployment:管理pod的多个副本,并且以期望状态运行。
- Replicaet:pod的副本管理
- DaemonSet:每个Node最多运行一个pod副本。
- StatefuleSet:
- Job:运行结束就删除
Service
- 定义外界访问pod的方式,有自己的端口和ip,提供负载均衡。
Namespace
- default:默认
- kube-system: k8s自己创建的系统资源
安装
sudo sucat <<EOF > /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF
apt update
(E084DAB9 为上面报错的key后8位或整个字符串)
gpg --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
gpg --export --armor E084DAB9 | sudo apt-key add -
sudo swapoff -a
kubeadm config images list
images=( kube-apiserver:v1.17.5
kube-controller-manager:v1.17.5
kube-scheduler:v1.17.5
kube-proxy:v1.17.5
pause:3.1
etcd:3.4.3-0
coredns:1.6.5
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done
kubeadm init mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
(https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml)
kubectl apply -f /home/songkaizong/桌面/flannel.yml
kubectl taint nodes --all node-role.kubernetes.io/master-
以上是 k8s概念和安装 的全部内容, 来源链接: utcz.com/z/516139.html