CKA真题大白话(●二●)

目录

🧡 ETCD快照

🧡 网络策略

🧡 Service


💟这里是CS大白话专场,让枯燥的学习变得有趣!

💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

💟好记性不如烂键盘,自己总结不如收藏别人!

🧡 ETCD快照

针对运行在https://127.0.0.1:2379上的etcd数据库创建一个快照,保存到/srv/data/etcd-snapshot.db文件中。执行etcdctl命令的证书存放在:
CA证书:/opt/KUIN00601/ca.crt
客户端证书:/opt/KUIN00601/etcd-client.crt
客户端密钥:/opt/KUIN00601/etcd-client.key

ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379\
--cacert=/opt/KUIN00601/ca.crt\
--cert=/opt/KUIN00601/etcd-client.crt\
--key=/opt/KUIN00601/etcd-client.key\
snapshot save /srv/data/etcd-snapshot.db

然后恢复快照/var/lib/backup/etcd-snapshot-previous.db。

cd /etc/kubernetes/manifests
mv * ..
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379\
--cacert=/opt/KUIN00601/ca.crt\
--cert=/opt/KUIN00601/etcd-client.crt\
--key=/opt/KUIN00601/etcd-client.key\
--data-dir=/var/lib/etcd-pre
snapshot restore /var/lib/backup/etcd-snapshot-previous.db
vim /etc/kubernetes/etcd.yaml
//修改
path: /var/lib/etcd-pre
cd /manifests
mv ../*.yaml .
watch crictl ps

🧡 网络策略

🍠创建一个名字为all-port-from-namespace的NetworkPolicy,允许命名空间internal下的Pods访问该命名空间下其他Pods的9000端口。保证NetworkPolicy:

不允许访问没有监听9000端口的Pods。
不允许不在internal命名空间内的Pods访问。

vim np.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: all-port-from-namespace
  namespace: internal
spec:
  podSelector: {}
  policyTypes:
    - Ingress
  ingress:
    - from:
      - podSelector: {}
      ports:
      - port: 80
        protocol: TCP

🍠在现有命名空间my-app下创建一个名字为all-port-from-namespace的NetworkPolicy,允许命名空间echo下的Pods访问my-app下其他Pods的9000端口。保证NetworkPolicy:

不允许访问没有监听9000端口的Pods。
不允许不在echo命名空间内的Pods访问。

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: all-port-from-namespace
  namespace: my-app
spec:
  podSelector: {}
  policyTypes:
    - Ingress
  ingress:
    - from:
      - namespaceSelector:
            matchLabels:
              project: echo
      ports:
      - port: 80
        protocol: TCP
kubectl apply -f np.yaml

🧡 Service

重新配置一个已经存在的名为front-end的deployment,在名为nginx的容器里添加一个名为http的端口配置,暴露端口号为80/tcp。

kubectl edit deployment front-end
spec:
      containers:
      - name: nginx
        image: nginx
        #添加
        ports:
          - containerPort: 80
            name: http
            protocol: TCP

创建一个新的名为front-end-svc的service,暴露容器的http端口。配置新的service,以通过调度它们节点上的NodePort暴露各个Pods。

kubectl expose deployment front-end --port=80\
--target-port=80\
--name=front-end-svc\
--type=NodePort

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值