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 su

cat <<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

回到顶部