#!/bin/bash
aliyuns="registry.aliyuncs.com/google_containers"
google="k8s.gcr.io"
image_list=`kubeadm config images list | awk -F "/" '{print $2}'`
for image in ${image_list}
do
docker image pull ${aliyuns}/${image}
docker image tag ${aliyuns}/${image} ${google}/${image}
docker image rm ${aliyuns}/${image}
echo -e "\033[32m ${google}/${image} download.\033[0m"
done
~
~
master kube-apiserver 接受请求与授权操作
kube-scheduler 是负责找到最佳都Node节点
kube-controller 负责弹性伸缩等
node kubelet 收集node info
kube-porxy 负责网络都负载均衡
container runtime 容器运行时
查看命令对应都包
yum whatprovides "*bin/swapoff"
kubectl get nodes -n namespacename
kubectl get cs 就是输去componentstatus
kubectl get pods -o wide 就是获取所有pod详细信息
kubectl apply -f calico.yaml 创建一个calico都pod资源用于网络通信。
kubectl api-resources 获取简写方式
帮助kubectl 的命令补全
yum install bash-completion -y
source /usr/share/bash-completion/bash_completion
kubectl completion bash
kubectl completion bash >/etc/profile.d/kubectl.sh
kubectl describe node node-2
-n 选择命名空间
kubectl describe pod calico-kube-controllers-6dfcd885bf-hsth2 -n kube-system
创建一个deployment资源 内部跑nginx
kubectl create deployment app-demo --image=nginx:1.7.9
kubectl describe deployments.apps app-demo
**进入容器:**
kubectl exec -it app-demo-6b476b769d-nspsw /bin/bash
扩展deployment scale 扩展制定类型 副本数 以及deploy name
kubectl scale deployment --replicas=3 app-demo
并且会自动加入到service中去实现负载均衡
clusterIP所有都新增都pod会注侧到clusterIP中去
为deployment创建一个service服务、
kubectl expose deployment app-demo --port=80 --protocol=TCP --type ClusterIP
kubectl edit services app-demo
kind: Service
metadata:
creationTimestamp: "2021-01-24T07:27:19Z"
labels:
app: app-demo
name: app-demo
namespace: default
resourceVersion: "14530"
uid: e35bf570-6e80-4f9e-a1ab-cc99b449786a
spec:
clusterIP: 10.96.105.12
clusterIPs:
- 10.96.105.12
externalTrafficPolicy: Cluster
ports:
- nodePort: 30044
port: 80
protocol: TCP
targetPort: 80
selector:
app: app-demo
sessionAffinity: None
type: NodePort
status:
将type 改为NodePort 外部网络可以通过新端口访问(30044)。
kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
app-demo NodePort 10.96.105.12 <none> 80:30044/TCP 26m
更新 deployement镜像
kubectl set image deployment app-demo nginx=nginx:1.8.1
查看更新状态
kubectl rollout status deployment app-demo
回退版本
kubectl rollout undo deployment app-demo --to-revision=1
kubectl create deployment test_xx --image=nginx:1.7.9 --dry-run -o yaml
W0125 21:06:03.319451 95198 helpers.go:553] --dry-run is deprecated and can be replaced with --dry-run=client.
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: test_xx
name: test_xx
spec:
replicas: 1
selector:
matchLabels:
app: test_xx
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: test_xx
spec:
containers:
- image: nginx:1.7.9
name: nginx
resources: {}
status: {}